C# 如何了解Win32 API?
我想学习如何使用Win32 API,因为最近我有很多任务需要完成,这些任务需要使用C# 如何了解Win32 API?,c#,windows,winapi,C#,Windows,Winapi,我想学习如何使用Win32 API,因为最近我有很多任务需要完成,这些任务需要使用user32.dll中的函数,所以我正在尝试学习,我在谷歌上搜索了一下,但问题是:每一个关于它的教程都会告诉你如何做某件事。比如通过Win32 API显示MessageBox,但实际上您无法学习Win32框架 那么你到底是如何学习的呢?你怎么知道所有的功能?使用托管库非常容易,特别是使用提供IntelliSense、对象浏览器等的Visual Studio。但是Win32 API太凌乱了(至少从C#开发者的角度来看
user32.dll
中的函数,所以我正在尝试学习,我在谷歌上搜索了一下,但问题是:每一个关于它的教程都会告诉你如何做某件事。比如通过Win32 API显示MessageBox
,但实际上您无法学习Win32框架
那么你到底是如何学习的呢?你怎么知道所有的功能?使用托管库非常容易,特别是使用提供IntelliSense、对象浏览器等的Visual Studio。但是Win32 API太凌乱了(至少从C#开发者的角度来看)
到目前为止,我一直在使用它,只是在谷歌上搜索一个任务,看到它可以用Win32 API完成(我不知道),然后复制函数并使用它(这对我来说很可怕,我觉得我失去了很多“能力”)
那么,我该如何学习呢
说清楚:我对书不感兴趣。虽然听起来很糟糕,但我需要这些知识来完成一个项目,我只是没有时间去投资一本书。尽管如此,我还是得到了答案。谢谢大家。首先,Win32是一组子系统。你可能不可能轻松地把它们全部学会。你只需要优先考虑 但是,要想说出你想学的东西,你可能需要一个大局。我相信接近Win32的最好方法是通过Charles Petzold的“编程窗口”。它非常清晰易懂。有很多例子你可以自己挑选和实验
在您学习了基本知识之后,我推荐Mark Russinovich的“Microsoft Windows内部构件”。它相当高级,但可以让您了解Windows core中的内容。Win32 API-帮助文档和示例应在Windows SDK下载中提供。
从MSDN中可以找到WinAPI列表: 以下是Windows应用程序编程接口(API)的参考内容列表。 您可以通过VisualBasicWinAPI函数学习一些东西。示例非常容易理解和理解。然后你可以把代码翻译成C 55个类别中有598个Visual Basic Windows API函数
我个人认为你应该从 这将为您提供有关在c#中使用pinvoke的WINAPI所需的大部分基本知识。我也有MSDN提供的WINAPI函数的脱机版本,但我不记得从哪里下载的 最后,了解一些基本的易于理解的WINAPI代码,这是一个很好的例子 编辑:您可以下载。也可以查看以下内容: 试图让您尽可能快速、清晰地开始使用Win32 API进行开发 我经常觉得这比msdn好。要真正理解pinvoke的核心,你必须先学习C语言。Pinvoke声明通常有意更改stock SDK定义中的声明,以使函数更易于使用。特别是采用PVOID或LPRAM的函数,如无处不在的SendMessage(),可以通过改变参数类型更好地声明。最好的求助地点是这里。