C#快键精灵
我发过挺多工作中用到的C#内容,整体链接和内容去这里看下:C#基础知识体系框架图,及起对应我发过的博客_花开莫与流年错_的博客-CSDN博客_c#架构图
可以记住电脑上鼠标、键盘操作记录,用处就很多,比较灵活了,只要记下自己电脑上操作的内容,可以循环去模拟人为的执行。而我呢是用在自动化生产中,接收PLC命令后模拟人操作控制电脑上的软件。键盘和鼠标功能码与ascll码一致。
对应开源代码:KeyMouseHook: 这是一个基于globalmousekeyhook 和 InputSimulator 的类似于按键精灵的模拟键盘按键和鼠标点击操作的扩展类库。可以检测并记录键盘和鼠标的活动,你可以录制你的键鼠操作的记录并进行回放,可模拟键盘输入和鼠标点击操作。
使用的话基本都是基于MouseKeyHook开发的,下面我来介绍下详细内容。
使用MouseKeyHook
其中主要两个接口:key键盘点击事件、mouse鼠标点击事件
namespace Gma.System.MouseKeyHook
public interface IKeyboardMouseEvents : IKeyboardEvents, IMouseEvents, IDisposablenamespace Gma.System.MouseKeyHook
{public static class Hook{public static IKeyboardMouseEvents AppEvents();public static IKeyboardMouseEvents GlobalEvents();}
}
使用代码
private IKeyboardMouseEvents m_GlobalHook;public void Subscribe()
{m_GlobalHook = Hook.GlobalEvents();m_GlobalHook.MouseDownExt += GlobalHookMouseDownExt;m_GlobalHook.KeyDown += KeyEventHandler;
}
private void KeyEventHandler(object sender, KeyEventArgs e)
{// keyValue值对应键盘事件要参考下面System.Windows.Forms中Keys的定义Console.WriteLine(e.KeyValue);}
private void GlobalHookMouseDownExt(object sender, MouseEventExtArgs e)
{if (e.Button == MouseButtons.Left){Console.WriteLine("左键");key = 1;}if (e.Button == MouseButtons.Right){Console.WriteLine("右键");m_GlobalHook.MouseDownExt -= GlobalHookMouseDownExt;m_GlobalHook.Dispose();key = 2;}
}
上面只触发了点击事件,还要获取当前点击位置
// 当前查看的代码是在定时器里面获取的,Cursor对象对应命名控件:System.Windows.Forms
Cursor.Position.X.ToString() + "," + Cursor.Position.Y.ToString();
// 获取屏幕整体宽度和高度,但是这里不是真实大小(被屏幕显示百分比重新计算后的)
Screen.PrimaryScreen.Bounds.Width + ", " + Screen.PrimaryScreen.Bounds.Height;// 添加事件处理
keyboardWatcher.OnKeyboardInput += (s, e) =>{ }
mouseWatcher.OnMouseInput += (s, e) => { }
运行快键记录
[DllImport("user32.dll")]
static extern void mouse_event(int flags, int dX, int dY, int buttons, int extraInfo);
// 通过定时器和鼠标、键盘事件记录鼠标位置和事件,控制实现
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x * 65536 / 1920, y * 65536 / 1080, 0, 0);
InputSimulator对象中KeyPress虚拟按键、Mouse虚拟鼠标,由IKeyboardSimulator和IMouseSimulator声明。
鼠标Mouse移动
MoveMouseTo(double absoluteX, double absoluteY);
LeftButtonDown();
LeftButtonUp();
LeftButtonClick();
LeftButtonDoubleClick();
RightButtonDown();
RightButtonUp();
RightButtonClick();
RightButtonDoubleClick();
MiddleButtonDown();
MiddleButtonUp();
MiddleButtonClick();
Sleep(int millsecondsTimeout);
代码中触发键盘。KeyPress(单个键盘触发)、ModifiedKeyStroke(多个键盘同时触发)、TextEntry(输入文件)、Sleep(暂停)
sim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_R).Sleep(1000).TextEntry("notepad").Sleep(1000).KeyPress(VirtualKeyCode.RETURN).KeyPress(VirtualKeyCode.RETURN).Sleep(1000).TextEntry("0123456789").Sleep(1000).TextEntry(".").Sleep(1000).TextEntry(".").Sleep(1000).TextEntry(".").Sleep(1000).ModifiedKeyStroke(VirtualKeyCode.MENU, VirtualKeyCode.SPACE).KeyPress(VirtualKeyCode.DOWN).KeyPress(VirtualKeyCode.RETURN);
windows上每个按键的功能(可以自己在vs找到Forms中的Keys,按F12跳转到定义查看所有内容),对应映射的值拷贝到下面了,这里其实和ascll码是一样的,只不过还多了一些命令而已。
#region 程序集 System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.Windows.Forms.dll
#endregionusing System.ComponentModel;
using System.Drawing.Design;
using System.Runtime.InteropServices;namespace System.Windows.Forms
{//// 摘要:// 指定键代码和修饰符。[ComVisible(true)][Editor("System.Windows.Forms.Design.ShortcutKeysEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))][Flags][TypeConverter(typeof(KeysConverter))]public enum Keys{//// 摘要:// 若要从一个密钥值中提取修饰符位掩码。Modifiers = -65536,//// 摘要:// 不按任何键。None = 0,//// 摘要:// 鼠标左键。LButton = 1,//// 摘要:// 鼠标右键按钮中。RButton = 2,//// 摘要:// CANCEL 键。Cancel = 3,//// 摘要:// 鼠标中键 (三个按钮的鼠标)。MButton = 4,//// 摘要:// 第一个 x 鼠标按钮 (五个按钮的鼠标)。XButton1 = 5,//// 摘要:// 第二个鼠标按钮 (五个按钮的鼠标) x。XButton2 = 6,//// 摘要:// BACKSPACE 键。Back = 8,//// 摘要:// TAB 键。Tab = 9,//// 摘要:// LINEFEED 键。LineFeed = 10,//// 摘要:// CLEAR 键。Clear = 12,//// 摘要:// RETURN 键。Return = 13,//// 摘要:// ENTER 键。Enter = 13,//// 摘要:// SHIFT 键。ShiftKey = 16,//// 摘要:// CTRL 键。ControlKey = 17,//// 摘要:// ALT 键。Menu = 18,//// 摘要:// PAUSE 键。Pause = 19,//// 摘要:// CAPS LOCK 键。Capital = 20,//// 摘要:// CAPS LOCK 键。CapsLock = 20,//// 摘要:// IME Kana 模式键。KanaMode = 21,//// 摘要:// IME Hanguel 模式键。 (保留为了兼容; 使用HangulMode)HanguelMode = 21,//// 摘要:// IME Hangul 模式键。HangulMode = 21,//// 摘要:// IME Junja 模式键。JunjaMode = 23,//// 摘要:// IME 最终模式键。FinalMode = 24,//// 摘要:// IME Hanja 模式键。HanjaMode = 25,//// 摘要:// IME Kanji 模式键。KanjiMode = 25,//// 摘要:// ESC 键。Escape = 27,//// 摘要:// IME convert 键。IMEConvert = 28,//// 摘要:// IME nonconvert 键。IMENonconvert = 29,//// 摘要:// IME 接受密钥,替换System.Windows.Forms.Keys.IMEAceept。IMEAccept = 30,//// 摘要:// IME 接受密钥。 已过时,请System.Windows.Forms.Keys.IMEAccept相反。IMEAceept = 30,//// 摘要:// IME 模式更改密钥。IMEModeChange = 31,//// 摘要:// SPACEBAR 键。Space = 32,//// 摘要:// PAGE UP 键。Prior = 33,//// 摘要:// PAGE UP 键。PageUp = 33,//// 摘要:// PAGE DOWN 键。Next = 34,//// 摘要:// PAGE DOWN 键。PageDown = 34,//// 摘要:// END 键。End = 35,//// 摘要:// HOME 键。Home = 36,//// 摘要:// LEFT ARROW 键。Left = 37,//// 摘要:// UP ARROW 键。Up = 38,//// 摘要:// RIGHT ARROW 键。Right = 39,//// 摘要:// DOWN ARROW 键。Down = 40,//// 摘要:// SELECT 键。Select = 41,//// 摘要:// PRINT 键。Print = 42,//// 摘要:// EXECUTE 键。Execute = 43,//// 摘要:// PRINT SCREEN 键。Snapshot = 44,//// 摘要:// PRINT SCREEN 键。PrintScreen = 44,//// 摘要:// INS 键。Insert = 45,//// 摘要:// DEL 键。Delete = 46,//// 摘要:// HELP 键。Help = 47,//// 摘要:// 0 键。D0 = 48,//// 摘要:// 1 键。D1 = 49,//// 摘要:// 2 键。D2 = 50,//// 摘要:// 3 键。D3 = 51,//// 摘要:// 4 键。D4 = 52,//// 摘要:// 5 键。D5 = 53,//// 摘要:// 6 键。D6 = 54,//// 摘要:// 7 键。D7 = 55,//// 摘要:// 8 键。D8 = 56,//// 摘要:// 9 键。D9 = 57,//// 摘要:// A 键。A = 65,//// 摘要:// B 键。B = 66,//// 摘要:// C 键。C = 67,//// 摘要:// D 键。D = 68,//// 摘要:// E 键。E = 69,//// 摘要:// F 键。F = 70,//// 摘要:// G 键。G = 71,//// 摘要:// H 键。H = 72,//// 摘要:// I 键。I = 73,//// 摘要:// J 键。J = 74,//// 摘要:// K 键。K = 75,//// 摘要:// L 键。L = 76,//// 摘要:// M 键。M = 77,//// 摘要:// N 键。N = 78,//// 摘要:// O 键。O = 79,//// 摘要:// P 键。P = 80,//// 摘要:// Q 键。Q = 81,//// 摘要:// R 键。R = 82,//// 摘要:// S 键。S = 83,//// 摘要:// T 键。T = 84,//// 摘要:// U 键。U = 85,//// 摘要:// V 键。V = 86,//// 摘要:// W 键。W = 87,//// 摘要:// X 键。X = 88,//// 摘要:// Y 键。Y = 89,//// 摘要:// Z 键。Z = 90,//// 摘要:// 左 Windows 徽标键 (Microsoft Natural Keyboard)。LWin = 91,//// 摘要:// 右 Windows 徽标键 (Microsoft Natural Keyboard)。RWin = 92,//// 摘要:// 应用程序密钥 (Microsoft Natural Keyboard)。Apps = 93,//// 摘要:// 计算机休眠键。Sleep = 95,//// 摘要:// 数字键盘上的 0 键。NumPad0 = 96,//// 摘要:// 数字键盘上的 1 键。NumPad1 = 97,//// 摘要:// 数字键盘上的 2 键。NumPad2 = 98,//// 摘要:// 数字键盘上的 3 键。NumPad3 = 99,//// 摘要:// 数字键盘上的 4 键。NumPad4 = 100,//// 摘要:// 数字键盘上的 5 键。NumPad5 = 101,//// 摘要:// 数字键盘上的 6 键。NumPad6 = 102,//// 摘要:// 数字键盘上的 7 键。NumPad7 = 103,//// 摘要:// 数字键盘上的 8 键。NumPad8 = 104,//// 摘要:// 数字键盘上的 9 键。NumPad9 = 105,//// 摘要:// 乘号键。Multiply = 106,//// 摘要:// 加号键。Add = 107,//// 摘要:// 分隔符键。Separator = 108,//// 摘要:// 减号键。Subtract = 109,//// 摘要:// 句点键。Decimal = 110,//// 摘要:// 除号键。Divide = 111,//// 摘要:// F1 键。F1 = 112,//// 摘要:// F2 键。F2 = 113,//// 摘要:// F3 键。F3 = 114,//// 摘要:// F4 键。F4 = 115,//// 摘要:// F5 键。F5 = 116,//// 摘要:// F6 键。F6 = 117,//// 摘要:// F7 键。F7 = 118,//// 摘要:// F8 键。F8 = 119,//// 摘要:// F9 键。F9 = 120,//// 摘要:// F10 键。F10 = 121,//// 摘要:// F11 键。F11 = 122,//// 摘要:// F12 键。F12 = 123,//// 摘要:// F13 键。F13 = 124,//// 摘要:// F14 键。F14 = 125,//// 摘要:// F15 键。F15 = 126,//// 摘要:// F16 键。F16 = 127,//// 摘要:// F17 键。F17 = 128,//// 摘要:// F18 键。F18 = 129,//// 摘要:// F19 键。F19 = 130,//// 摘要:// F20 键。F20 = 131,//// 摘要:// F21 键。F21 = 132,//// 摘要:// F22 键。F22 = 133,//// 摘要:// F23 键。F23 = 134,//// 摘要:// F24 键。F24 = 135,//// 摘要:// NUM LOCK 键。NumLock = 144,//// 摘要:// SCROLL LOCK 键。Scroll = 145,//// 摘要:// 左的 SHIFT 键。LShiftKey = 160,//// 摘要:// 右 SHIFT 键。RShiftKey = 161,//// 摘要:// 左 CTRL 键。LControlKey = 162,//// 摘要:// 右 CTRL 键。RControlKey = 163,//// 摘要:// 左 ALT 键。LMenu = 164,//// 摘要:// 右 ALT 键。RMenu = 165,//// 摘要:// 浏览器后退键 (Windows 2000 或更高版本)。BrowserBack = 166,//// 摘要:// 浏览器前进键 (Windows 2000 或更高版本)。BrowserForward = 167,//// 摘要:// 浏览器刷新键 (Windows 2000 或更高版本)。BrowserRefresh = 168,//// 摘要:// 浏览器停止键 (Windows 2000 或更高版本)。BrowserStop = 169,//// 摘要:// 浏览器搜索键 (Windows 2000 或更高版本)。BrowserSearch = 170,//// 摘要:// 浏览器收藏键 (Windows 2000 或更高版本)。BrowserFavorites = 171,//// 摘要:// 浏览器主页键 (Windows 2000 或更高版本)。BrowserHome = 172,//// 摘要:// 卷静音键 (Windows 2000 或更高版本)。VolumeMute = 173,//// 摘要:// 音量降低键 (Windows 2000 或更高版本)。VolumeDown = 174,//// 摘要:// 音量增大键 (Windows 2000 或更高版本)。VolumeUp = 175,//// 摘要:// 媒体下一曲目键 (Windows 2000 或更高版本)。MediaNextTrack = 176,//// 摘要:// 媒体上一曲目键 (Windows 2000 或更高版本)。MediaPreviousTrack = 177,//// 摘要:// 媒体停止键 (Windows 2000 或更高版本)。MediaStop = 178,//// 摘要:// 在媒体播放暂停键 (Windows 2000 或更高版本)。MediaPlayPause = 179,//// 摘要:// 启动邮件键 (Windows 2000 或更高版本)。LaunchMail = 180,//// 摘要:// 选择媒体键 (Windows 2000 或更高版本) 中。SelectMedia = 181,//// 摘要:// 启动应用程序一个键 (Windows 2000 或更高版本)。LaunchApplication1 = 182,//// 摘要:// 启动应用程序两个键 (Windows 2000 或更高版本)。LaunchApplication2 = 183,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 分号键。OemSemicolon = 186,//// 摘要:// OEM 1 键。Oem1 = 186,//// 摘要:// OEM 加上任何国家/地区键盘 (Windows 2000 或更高版本) 上的密钥。Oemplus = 187,//// 摘要:// 任何国家/地区键盘 (Windows 2000 或更高版本) 上的 OEM 逗号键。Oemcomma = 188,//// 摘要:// OEM 减号键 (Windows 2000 或更高版本) 任何国家/地区键盘上。OemMinus = 189,//// 摘要:// 任何国家/地区键盘 (Windows 2000 或更高版本) 上的 OEM 期间键。OemPeriod = 190,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 问号键。OemQuestion = 191,//// 摘要:// OEM 2 键。Oem2 = 191,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 颚化符键。Oemtilde = 192,//// 摘要:// OEM 3 键。Oem3 = 192,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 左大括号键。OemOpenBrackets = 219,//// 摘要:// OEM 4 键。Oem4 = 219,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 管道键。OemPipe = 220,//// 摘要:// OEM 5 键。Oem5 = 220,//// 摘要:// 美国标准键盘 (Windows 2000 或更高版本) 上的 OEM 右大括号键。OemCloseBrackets = 221,//// 摘要:// OEM 6 键。Oem6 = 221,//// 摘要:// OEM 意见/双精度型引号密钥美国标准键盘 (Windows 2000 或更高版本) 上。OemQuotes = 222,//// 摘要:// OEM 7 键。Oem7 = 222,//// 摘要:// OEM 8 键。Oem8 = 223,//// 摘要:// OEM 尖括号或 RT 102 键键盘 (Windows 2000 或更高版本) 上的反斜杠键。OemBackslash = 226,//// 摘要:// OEM 102 键。Oem102 = 226,//// 摘要:// PROCESS 键键中。ProcessKey = 229,//// 摘要:// 用于传递 Unicode 字符,就像它们是击键一样。 Packet 键值是用于非键盘输入方法的 32 位虚拟密钥值的低位字。Packet = 231,//// 摘要:// ATTN 键。Attn = 246,//// 摘要:// CRSEL 键。Crsel = 247,//// 摘要:// EXSEL 键。Exsel = 248,//// 摘要:// ERASE EOF 键。EraseEof = 249,//// 摘要:// 播放键。Play = 250,//// 摘要:// 缩放键。Zoom = 251,//// 摘要:// 留待将来使用的常数。NoName = 252,//// 摘要:// PA1 键。Pa1 = 253,//// 摘要:// CLEAR 键。OemClear = 254,//// 摘要:// 从一个密钥值中提取键代码的位屏蔽。KeyCode = 65535,//// 摘要:// SHIFT 修改键。Shift = 65536,//// 摘要:// CTRL 修改键。Control = 131072,//// 摘要:// ALT 修改键。Alt = 262144 }
}
相关文章:
C#快键精灵
我发过挺多工作中用到的C#内容,整体链接和内容去这里看下:C#基础知识体系框架图,及起对应我发过的博客_花开莫与流年错_的博客-CSDN博客_c#架构图 可以记住电脑上鼠标、键盘操作记录,用处就很多,比较灵活了,…...
谷歌、微软、Meta?谁才是 Python 最大的金主?
你知道维护 Python 这个大规模的开源项目,每年需要多少资金吗? 答案是:约 200 万美元! PSF(Python 软件基金会)在 2022 年 6 月发布了 2021 的年度报告,其中披露了以下这份支出明细(…...
面向对象笔记
标准JavaBean类1.类名见名知意2.成员变量由private修饰3.提供两个构造方法 无参构造和带全部参数构造4.提供每一个成员变量对应的set/get方法5.如果有其它行为,也要写上空参构造 初始化默认值带参构造 初始化参数 创建对象由虚拟机调用,不能手动调用每创…...
tofu:一款功能强大的模块化Windows文件系统安全测试工具
关于tofu tofu是一款功能强大的针对Windows文件系统安全的模块化工具,该工具可以使用离线方法对目标Windows文件系统进行渗透测试,并通过绕过Windows系统登录界面来帮助广大研究人员测试Windows主机的安全性。除此之外,该工具还可以执行哈希…...
VS中scanf为什么会报错
简单来讲,scanf会强行输入内容,所以是不安全的。 我们来看这样的例子: #include <iostream> using namespace std;int main() {char demo[3];scanf("%s", demo);return 0; }对于以上代码,当我们输入字符不超过3时…...
使用kubeadm部署k8s1.24.0版本,遇到的坑总结
使用kubeadm部署k8s1.24.0版本,遇到的坑总结环境安装遇到的问题环境 操作系统:centos7 内核:5.4.231-1.el7.elrepo.x86_64 kubeadm:1.24.0 kubelet:1.24.0 kubectl:1.24.0 cri:docker cni&…...
【C++】特殊类设计
🌈欢迎来到C专栏~~特殊类设计 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&a…...
中创教育PMP如何轻松应对公司90%以上的沟通难题
掌握沟通技能,可以让问题从1变成0; 掌握沟通技能,可以让机会从0变成1; 掌握沟通技能,可以让成功从1变成100; 难题一、当领导问你某件事,但你又不太清楚时 【说话公式】需要思考需要确认晚点回…...
#笨鸟先飞# 数据结构与算法基础 课程笔记 第六章 图
图的定义和基本术语图:G( V , E ) Graph(Vertex,Edge)V:顶点(数据元素)的有穷非空集合;E:边的有穷集合。无向图:每条边都是无方向的有向图:每条边…...
深入浅出带你学习Apache中间件常见漏洞
前言 上一篇文章给大家总结了一下IIS中间件的漏洞,这篇文章就给大家讲一下apache中间件漏洞,说起apache大家一定不会陌生,这是我们日常中经常用到的中间件,下面由我来给大家讲解一下改中间件常见的漏洞。 Apache是什么ÿ…...
用多种指针方法访问数据元素,实现逆序输出
这里注意下数组指针的下标表示: 我们已经知道,数组名a总是指向a[0]的指针,*(ai)是对a[i]的引用,实际上,编译器中,对数组的引用,如a[i],总是被编译器改写成*(ai)的形式。 另外说明下…...
WebDAV之葫芦儿·派盘+NMM
NMM 支持WebDAV方式连接葫芦儿派盘。 推荐一款文件管理器,可以对手机中的文件进行多方面的管理,支持语法高亮和ftp等远程的文件的管理。支持从WebDav服务器连接葫芦儿派盘服务下载文件和上传文件。 NMM文本编辑器是一款文件管理器,在功能上面更加的适合于一些编程人员进行使…...
Redis多级缓存
文章目录一. 什么是多级缓存二. JVM进程缓存一. 什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: 请求要经过Tomcat处理,Tomcat的性能…...
【原创】java+swing+mysql会议室管理系统设计与实现
本文主要介绍使用javaswingmysql等技术去设计完成一个企业公司的会议室管理系统,帮助企业员工去进行会议室的预约安排。 功能分析: 会议室管理系统的使用角色,一般分为管理员和员工用户,管理员进行数据管理,员工进行…...
【Redis】Redis 常用数据类型操作 ① ( 数据库操作 | Redis 数据库连接参数 | Redis 数据库个数 | Redis 访问机制 )
文章目录一、Redis 数据库连接参数二、Redis 数据库个数三、Redis 访问机制一、Redis 数据库连接参数 连接 Redis 数据库 , 只需要 IP 地址 , 端口号 , 访问密码 即可 , 如果没有 设置 访问密码 可忽略该选项 ; Redis 默认端口号是 6379 ; 参考 【Redis】Redis 数据库 安装、…...
GAMES101-计算机图形学入门 LEC4: TRANSFORMATION-3D
本节课程视频地址:https://www.bilibili.com/video/BV1X7411F744/?p4 补充上一节课的一个内容,旋转矩阵的逆矩阵是它的转置,也就是说有R−θRθ−1RθTR_{-\theta} R_\theta^{-1}R_\theta^TR−θRθ−1RθT 上节课讲了,…...
robot实战:截取字符串
一:变量标识符号(1) Scalar型变量: "$"作为标识符号,例如:${var}, 这个打印log时只能用logset赋值:a: ${var} Set Variable abcb:${var2} Set Variable If ${Var}abc efgh ace 如果var的值和abc相等…...
【面经】滴滴测开一面
滴滴测开一面 面试官自我介绍面试者自我介绍大概实习多久?你在在校经历比较丰富,说一下打ACM那些比赛中的一些经验,找一些具体的项目说一下在打ACM中团队里几个人? 你负责什么?在上段实习的过程中都做了哪些事情&…...
数据治理-主数据
二、某企业集团旗下有房地产、供应链、物流、酒店等多个业务子公司,为了统一管理,集团推进数字化转型,建立了统一的数据仓库,各子公司将数据集成到集团信息部负责管理的 数据平台。集团在实施数据治理过程中,发现各业务…...
软考-中级-软件设计师-成绩
低分飘过,备考经验主要就是刷题。...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
