前言
这里全局的键盘钩子和全局鼠标钩子是为了定义快捷键操作。
获取鼠标坐标
1 | using System.Runtime.InteropServices; |
调用方式
1 | ZPoint.POINT point; |
获取坐标颜色
1 | using System; |
调用方式
1 | private static bool isStart = false; |
颜色转换
1 | System.Drawing.Color c = ScreenColor.GetPixelColor(point.X, point.Y); |
6位
1 | string htmlColor = System.Drawing.ColorTranslator.ToHtml(c); |
这种方式有时会获取到类似dodgerblue
的值。
推荐使用
1 | string htmlColor = "#" + c.R.ToString("x2") + c.G.ToString("x2") + c.B.ToString("x2"); |
8位
1 | string htmlColor = "#" + c.A.ToString("x2") + c.R.ToString("x2") + c.G.ToString("x2") + c.B.ToString("x2"); |
RGBA
1 | string rgbaColor = "RGBA(" + c.R + "," + c.G + "," + c.B + "," + c.A / 255 + ")"; |
HEX
1 | string htmlColor = "0xff" + c.R.ToString("x2") + c.G.ToString("x2") + c.B.ToString("x2"); |
注意转16进制
1 | //大写 |
剪贴板保存
1 | private void ClipboardSave(string txt) |
注意
这里一定要进行异常捕获,否则剪贴板被占用时会导致程序崩溃。
全局键盘钩子
1 | namespace z_screen_recorder.Utils |
调用方式
1 | namespace z_screen_recorder |
SetWindowsHookEx参数说明
https://docs.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-setwindowshookexa
全局鼠标钩子
1 | using System; |
调用方式
1 | private static MainWindow mainWindow = null; |