如果我';我用C#?
我正在编写一些代码,使用一些非托管调用来调用user32函数,比如SetWindowsHookEx等 这需要我使用很多常数,我不确定它们的值是多少。例如,如果我想将钩子设置为低级鼠标钩子,我需要知道WM_mouse_LL=14 我在哪里可以找到这些如果我';我用C#?,c#,interop,unmanaged,C#,Interop,Unmanaged,我正在编写一些代码,使用一些非托管调用来调用user32函数,比如SetWindowsHookEx等 这需要我使用很多常数,我不确定它们的值是多少。例如,如果我想将钩子设置为低级鼠标钩子,我需要知道WM_mouse_LL=14 我在哪里可以找到这些 我需要知道WM_MOUSEMOVE、WM_MOUSEDOWN和更多是什么。当我处理互操作代码时,最简单的方法是什么?我是否可以将它们导入C#以便定义它们
我需要知道WM_MOUSEMOVE、WM_MOUSEDOWN和更多是什么。当我处理互操作代码时,最简单的方法是什么?我是否可以将它们导入C#以便定义它们有时候,MSDN页面会列出它们,但是我发现最好的方法是打开一个C++程序,然后右键单击常量,并说“转到定义”。
另一种即时发现几乎任何东西的方法是使用。很多时候,你会在酒头文件中找到答案。 有时候MSDN页面会列出它们,但是我发现最好的方法是打开一个C++程序,然后右键单击常量,并说“转到定义”。
另一种即时发现几乎任何东西的方法是使用。很多时候,你会在WINE头文件中找到答案。你知道吗?你知道吗?它在你的机器上。如果您有VS2008,请打开c:\program files\microsoft skds\windows\v6.0a\winuser.h并搜索消息标识符。不,您不能在C程序中使用此文件,它是用C编写的
有一个工具可以将这些SDK头文件翻译成C#,下载。单击“SigImp搜索”选项卡并键入要查找的标识符。单击Generate创建C#声明。消息标识符没有问题,但API函数会变得难看。声明是自动翻译的,非常嘈杂,并不总是最优的。将生成的定义与pinvoke.net上提供的定义进行双重检查,该定义位于您的计算机上。如果您有VS2008,请打开c:\program files\microsoft skds\windows\v6.0a\winuser.h并搜索消息标识符。不,您不能在C程序中使用此文件,它是用C编写的 有一个工具可以将这些SDK头文件翻译成C#,下载。单击“SigImp搜索”选项卡并键入要查找的标识符。单击Generate创建C#声明。消息标识符没有问题,但API函数会变得难看。声明是自动翻译的,非常嘈杂,并不总是最优的。使用pinvoke.net上提供的内容仔细检查生成的定义