C# 窗口鼠标穿透以及取消窗口鼠标穿透
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | private const int WS_EX_TRANSPARENT = 0x20; private const int GWL_EXSTYLE = -20; /// <summary> /// window 扩展样式 分层显示 /// </summary> private const int WS_EX_LAYERED = 0x00080000; //取消鼠标穿透的 [DllImport( "user32" , EntryPoint = "SetWindowLong" )] private static extern uint SetWindowLong(IntPtr hwnd, int nIndex, uint dwNewLong); [DllImport( "user32" , EntryPoint = "GetWindowLong" )] private static extern uint GetWindowLong(IntPtr hwnd, int nIndex); [DllImport( "user32.dll" , CharSet = CharSet.Auto)] private static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags); public static void SetTranMouseWind(Window window) { try { IntPtr hwnd = new WindowInteropHelper(window).Handle; uint extendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE); SetWindowLong(hwnd, GWL_EXSTYLE, extendedStyle | WS_EX_TRANSPARENT); } catch { } } public static void ReSetNormalWind(Window window) { try { IntPtr hwnd = new WindowInteropHelper(window).Handle; uint extendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE| WS_EX_LAYERED); SetWindowLong(hwnd, GWL_EXSTYLE, WS_EX_LAYERED); } catch { } } |
fffffffffffffffff
test red font.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2019-06-12 VB6 Webbowser控件与JS交互,无边框和屏蔽右键菜单