我可以使用以下代码从我的应用程序中关闭另一个应用程序窗口(计算器):
hwnd = FindWindow(null, "Calculator");SendMessage(hwnd,WM_CLOSE,0,IntPtr.Zero);
但我想在同一个计算器应用程序窗口中禁用鼠标滚轮。我尝试了以下方法,但它不起作用:
SendMessage(hwnd, WM_MOUSEWHEEL, 0, IntPtr.Zero);
我可以使用以下代码从我的应用程序中关闭另一个应用程序窗口(计算器):
hwnd = FindWindow(null, "Calculator");SendMessage(hwnd,WM_CLOSE,0,IntPtr.Zero);
但我想在同一个计算器应用程序窗口中禁用鼠标滚轮。我尝试了以下方法,但它不起作用:
SendMessage(hwnd, WM_MOUSEWHEEL, 0, IntPtr.Zero);
如果你想为特定的 hWnds 禁用它,你需要钩入事件并捕捉它的发生。
看看这个: https ://msdn.microsoft.com/en-us/library/windows/desktop/dd373640(v=vs.85).aspx
如果您定义回调函数,它确实需要注意将事件正确分配到所有 Windows,但您正在搜索的 Windows 除外,尽管我不确定这是否只是 Eventmessage 的克隆,或者它们是否如果设置了钩子,则仅定向到您的应用程序。
重要的是示例中提供的代码不完整,它缺少一个实际上从消息队列中抓取的消息循环。
编辑
下面提到的链接
http://null-byte.wonderhowto.com/how-to/create-simple-hidden-console-keylogger-c-sharp-0132757/