当前位置: 首页 > news >正文

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#架构图 可以记住电脑上鼠标、键盘操作记录,用处就很多,比较灵活了&#xff0c…...

谷歌、微软、Meta?谁才是 Python 最大的金主?

你知道维护 Python 这个大规模的开源项目,每年需要多少资金吗? 答案是:约 200 万美元! PSF(Python 软件基金会)在 2022 年 6 月发布了 2021 的年度报告,其中披露了以下这份支出明细&#xff08…...

面向对象笔记

标准JavaBean类1.类名见名知意2.成员变量由private修饰3.提供两个构造方法 无参构造和带全部参数构造4.提供每一个成员变量对应的set/get方法5.如果有其它行为,也要写上空参构造 初始化默认值带参构造 初始化参数 创建对象由虚拟机调用,不能手动调用每创…...

tofu:一款功能强大的模块化Windows文件系统安全测试工具

关于tofu tofu是一款功能强大的针对Windows文件系统安全的模块化工具,该工具可以使用离线方法对目标Windows文件系统进行渗透测试,并通过绕过Windows系统登录界面来帮助广大研究人员测试Windows主机的安全性。除此之外,该工具还可以执行哈希…...

VS中scanf为什么会报错

简单来讲&#xff0c;scanf会强行输入内容&#xff0c;所以是不安全的。 我们来看这样的例子&#xff1a; #include <iostream> using namespace std;int main() {char demo[3];scanf("%s", demo);return 0; }对于以上代码&#xff0c;当我们输入字符不超过3时…...

使用kubeadm部署k8s1.24.0版本,遇到的坑总结

使用kubeadm部署k8s1.24.0版本&#xff0c;遇到的坑总结环境安装遇到的问题环境 操作系统&#xff1a;centos7 内核&#xff1a;5.4.231-1.el7.elrepo.x86_64 kubeadm&#xff1a;1.24.0 kubelet&#xff1a;1.24.0 kubectl&#xff1a;1.24.0 cri&#xff1a;docker cni&…...

【C++】特殊类设计

&#x1f308;欢迎来到C专栏~~特殊类设计 (꒪ꇴ꒪(꒪ꇴ꒪ )&#x1f423;,我是Scort目前状态&#xff1a;大三非科班啃C中&#x1f30d;博客主页&#xff1a;张小姐的猫~江湖背景快上车&#x1f698;&#xff0c;握好方向盘跟我有一起打天下嘞&#xff01;送给自己的一句鸡汤&a…...

中创教育PMP如何轻松应对公司90%以上的沟通难题

掌握沟通技能&#xff0c;可以让问题从1变成0&#xff1b; 掌握沟通技能&#xff0c;可以让机会从0变成1&#xff1b; 掌握沟通技能&#xff0c;可以让成功从1变成100&#xff1b; 难题一、当领导问你某件事&#xff0c;但你又不太清楚时 【说话公式】需要思考需要确认晚点回…...

#笨鸟先飞# 数据结构与算法基础 课程笔记 第六章 图

图的定义和基本术语图&#xff1a;G( V , E ) Graph&#xff08;Vertex&#xff0c;Edge&#xff09;V&#xff1a;顶点&#xff08;数据元素&#xff09;的有穷非空集合&#xff1b;E&#xff1a;边的有穷集合。无向图&#xff1a;每条边都是无方向的有向图&#xff1a;每条边…...

深入浅出带你学习Apache中间件常见漏洞

前言 上一篇文章给大家总结了一下IIS中间件的漏洞&#xff0c;这篇文章就给大家讲一下apache中间件漏洞&#xff0c;说起apache大家一定不会陌生&#xff0c;这是我们日常中经常用到的中间件&#xff0c;下面由我来给大家讲解一下改中间件常见的漏洞。 Apache是什么&#xff…...

用多种指针方法访问数据元素,实现逆序输出

这里注意下数组指针的下标表示&#xff1a; 我们已经知道&#xff0c;数组名a总是指向a[0]的指针&#xff0c;*(ai)是对a[i]的引用&#xff0c;实际上&#xff0c;编译器中&#xff0c;对数组的引用&#xff0c;如a[i]&#xff0c;总是被编译器改写成*(ai)的形式。 另外说明下…...

WebDAV之葫芦儿·派盘+NMM

NMM 支持WebDAV方式连接葫芦儿派盘。 推荐一款文件管理器,可以对手机中的文件进行多方面的管理,支持语法高亮和ftp等远程的文件的管理。支持从WebDav服务器连接葫芦儿派盘服务下载文件和上传文件。 NMM文本编辑器是一款文件管理器,在功能上面更加的适合于一些编程人员进行使…...

Redis多级缓存

文章目录一. 什么是多级缓存二. JVM进程缓存一. 什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未命中则查询数据库&#xff0c;如图&#xff1a; 存在下面的问题&#xff1a; 请求要经过Tomcat处理&#xff0c;Tomcat的性能…...

【原创】java+swing+mysql会议室管理系统设计与实现

本文主要介绍使用javaswingmysql等技术去设计完成一个企业公司的会议室管理系统&#xff0c;帮助企业员工去进行会议室的预约安排。 功能分析&#xff1a; 会议室管理系统的使用角色&#xff0c;一般分为管理员和员工用户&#xff0c;管理员进行数据管理&#xff0c;员工进行…...

【Redis】Redis 常用数据类型操作 ① ( 数据库操作 | Redis 数据库连接参数 | Redis 数据库个数 | Redis 访问机制 )

文章目录一、Redis 数据库连接参数二、Redis 数据库个数三、Redis 访问机制一、Redis 数据库连接参数 连接 Redis 数据库 , 只需要 IP 地址 , 端口号 , 访问密码 即可 , 如果没有 设置 访问密码 可忽略该选项 ; Redis 默认端口号是 6379 ; 参考 【Redis】Redis 数据库 安装、…...

GAMES101-计算机图形学入门 LEC4: TRANSFORMATION-3D

本节课程视频地址&#xff1a;https://www.bilibili.com/video/BV1X7411F744/?p4 补充上一节课的一个内容&#xff0c;旋转矩阵的逆矩阵是它的转置&#xff0c;也就是说有R−θRθ−1RθTR_{-\theta} R_\theta^{-1}R_\theta^TR−θ​Rθ−1​RθT​ 上节课讲了&#xff0c;…...

robot实战:截取字符串

一&#xff1a;变量标识符号(1) Scalar型变量: "$"作为标识符号&#xff0c;例如&#xff1a;${var}&#xff0c; 这个打印log时只能用logset赋值&#xff1a;a: ${var} Set Variable abcb:${var2} Set Variable If ${Var}abc efgh ace 如果var的值和abc相等&#xf…...

【面经】滴滴测开一面

滴滴测开一面 面试官自我介绍面试者自我介绍大概实习多久&#xff1f;你在在校经历比较丰富&#xff0c;说一下打ACM那些比赛中的一些经验&#xff0c;找一些具体的项目说一下在打ACM中团队里几个人&#xff1f; 你负责什么&#xff1f;在上段实习的过程中都做了哪些事情&…...

数据治理-主数据

二、某企业集团旗下有房地产、供应链、物流、酒店等多个业务子公司&#xff0c;为了统一管理&#xff0c;集团推进数字化转型&#xff0c;建立了统一的数据仓库&#xff0c;各子公司将数据集成到集团信息部负责管理的 数据平台。集团在实施数据治理过程中&#xff0c;发现各业务…...

软考-中级-软件设计师-成绩

低分飘过&#xff0c;备考经验主要就是刷题。...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...