前言
这里全局的键盘钩子和全局鼠标钩子是为了定义快捷键操作。
获取鼠标坐标
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;  |