记住windows API“语言”是否值得

时间:2010-06-24 16:37:45

标签: windows winapi api

所以我读了一个教程,说记住windows API模板是不值得的。您是程序员记住模板还是只从向导创建模板?还有谁知道一个很好的网络来源,以更好地学习Windows编程? theForger是可以的,但更多的是参考指南而不是学习源

6 个答案:

答案 0 :(得分:7)

在使用隐藏其中一些东西的工具之前,理解某些东西是如何工作总是有益的。从长远来看使用类向导和模板没有任何害处,但是如果你了解这些向导和模板为你做了什么以及这些事情做了什么,你会发现调试问题更容易。无论是Win32,.NET还是任何其他API,都是如此。

在编程.NET时要特别了解它执行的操作系统以及某些.NET功能(如事件)如何映射到底层系统(例如Windows消息),因为这可以真正帮助在调试一些奇怪的情况时(比如在绘制消息中请求项目计数时,在.NET ListView控件中重新进入)。

那就是说,你不必了解这些事情,只是有帮助。您当然不需要记住特定方法的签名 - 文档将始终帮助您。一般来说,记住事情是如何运作的,而不是你如何称呼它们。

答案 1 :(得分:3)

对我来说。记住API的唯一方法是使用它。在大多数API中都有太多的东西要知道它们经常变化以便记住它们。

早在互联网不是无所不在的时代,所有信息都是从杂志和书籍中检索出来的。现在只需从示例代码中剪切和粘贴并扩展它。我仍然使用剪切和粘贴来处理以前项目中的骨架代码。

我的建议是了解API并知道在哪里快速获取信息。

答案 2 :(得分:2)

恕我直言,记住CreateWindow的params并不是很难。此外,熟悉您正在使用的系统的本机API非常有用。

答案 3 :(得分:2)

我不认为记住它是值得的。这就是帮助文件和互联网的目的。

如果您热衷于学习没有.NET,MFC或ATL的“裸”Win32编程(并且 很好地理解这些框架所基于的构建块)那么我建议一次一件(从WinMainWndProc等基础开始)并构建自己的类框架,以减少每个新项目编写的样板代码。

将它全部放在源代码管理中,当您了解API并对框架进行改进时,您的所有项目都会受益。

答案 4 :(得分:2)

现在没有人会或者应该记住 Windows API语法,我们在Visual Studio中有智能感知。您需要做的是理解这些API背后的模型,即Windows系统的工作方式。

关注这些主题:

  • 窗口创建和处理,消息队列
  • 图形和字体处理(GDI)
  • 标准控件(编辑框,按钮......)
  • 事件和用户输入(鼠标,键盘)
  • 流程和主题
  • 文件处理和其他类型的I / O

最常见的方式是阅读一些经典书籍(Charles Petzold's,Jeffrey Ritcher)。

顺便说一句,这适用于通过Windows API构建的任何框架:MFC,ATL,甚至包含Windows窗体的.net。

答案 5 :(得分:1)

无论您是否使用向导,您都应该对正在生成的代码有一个大致的了解,以便您可以准确理解程序的工作方式。所有内容都记录在在线MSDN参考中,因此如果您对向导的代码有所了解,为什么不查找它?

就个人而言,我会坚持使用模板作为起点,因为在使用Windows API时可能会有很多样板代码。但那只是我......