27

我想学习如何使用 Win32 API,因为最近我有很多需要完成的任务,需要来自 的函数user32.dll,所以我正在努力学习,我在 Google 上搜索,但问题是:每个教程关于它,只是告诉你如何做某件事。喜欢MessageBox通过Win32 API展示一个,但实际上并不能学习Win32框架。

那么你是如何真正学习它的呢?你怎么知道所有的功能?使用托管库非常容易,尤其是使用提供 IntelliSense、对象浏览器等的 Visual Studio,但 Win32 API 非常混乱(至少从 C# 开发人员的角度来看)。

直到现在我一直在使用它的方式只是在谷歌上搜索一个任务并看到它可以用 Win32 API 完成(我不知道)然后复制这个函数并使用它(这对我来说太可怕了,我觉得我错过了很多“力量”)。

那么,我该如何学习呢?

明确一点:我对一本书不感兴趣。听起来很糟糕,我需要这些知识来完成一个项目,而我只是没有时间投资一本书。我确实得到了答案。
谢谢你们。

4

5 回答 5

8

从 MSDN 您可以找到 WinAPI 列表: 以下是 Windows 应用程序编程接口 (API) 的参考内容列表。 http://msdn.microsoft.com/en-us/library/ff818516(v=vs.85).aspx

你可以通过 Visual Basic Win API 函数学习一些东西。例子很容易理解和理解。然后,您可以将代码翻译成 C#。

55 个类别中有 598 个 Visual Basic Windows API 函数 http://www.ex-designz.net/api.asp

于 2012-04-07T13:04:48.127 回答
3

首先,Win32 是一组子系统。您可能无法轻松学习它们。你只需要优先考虑。

但是,为了能够说出你想学的东西,你可能需要一个大局。我相信接近 Win32 的最佳方式是通过 Charles Petzold 的“Programming Windows”。阅读起来非常清晰易懂。有很多例子你可以自己学习和试验。

在你学习了基本的东西之后,我推荐 Mark Russinovich 的“Microsoft Windows Internals”。它相当先进,但可以让您了解 Windows 核心内部的内容。

于 2012-04-07T13:00:41.280 回答
3

我个人认为您应该从使用 P/Invoke 在 C# 中调用 Win32 DLL开始

这将为您提供在 c# 中使用 pinvoke 的 WINAPI 所需了解的大部分基本知识。我也有 MSDN 提供的 WINAPI 函数的离线版本,但我不记得我是从哪里下载的。

最后,掌握一些基本的易于理解的 WINAPI 代码,这里有http://mwinapi.sourceforge.net/

编辑:您可以从 phatocde 下载文档的离线版本

于 2012-04-07T16:10:45.430 回答
2

Win32 API - 帮助文档和示例应该在 Windows SDK 下载中。 http://www.microsoft.com/download/en/details.aspx?id=8279

于 2012-04-07T13:02:53.940 回答
2

还可以查看Forger 的 Win32 API 编程教程,其中:

试图让您尽可能快速、清晰地开始使用 Win32 API 进行开发。

于 2012-04-08T07:21:12.370 回答