访问P/Invoke的Windows API常量和结构

Squ*_*ama 4 .net c# winapi

快速提问:如何从.NET访问为Win32 API定义的BN_CLICKED常量和其他常量?它们是否在某些图书馆中定义?我必须自己定义吗?如果是这样,我在哪里可以找到这些值?Windows版本之间的值是否为特定于版本的值?

Mar*_*wul 13

我发现PInvoke Interop Assistant非常有帮助:http: //blogs.microsoft.co.il/blogs/sasha/archive/2008/01/12/p-invoke-signature-generator.aspx.

它几乎包含所有内容,可以将C++转换为C#/ VB.我很少,如果有的话,再去搜索google/pinvoke.net了. 截图

这是MSDN杂志文章:http://msdn.microsoft.com/en-us/magazine/cc164193.aspx

最初的2008年1月MSDN杂志文章现在仅作为.CHM帮助文件下载提供,从https://msdn.microsoft.com/magazine/msdn-magazine-issues的最底部链接.(列"CLR Inside Out:在托管代码和非托管代码之间进行封送.")

而这里的下载:http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe.源代码可以在http://clrinterop.codeplex.com/上找到.


Uwe*_*eim 6

您可以下载Microsoft Platform SDK并查看头文件(*.h).例如BN_CLICKED,在winuser.h文件中定义.

通常,如果您只需要一个或两个常量,Google搜索并查看前几个结果也就足够了,因为该值会在那里打印出来.