我应该如何学习在Python中使用Windows API?

26 投票
12 回答
60457 浏览
提问于 2025-04-11 20:42

我在为Windows开发软件方面经验不多,对Windows的API更是一无所知,不过我对Python还算熟悉。我该如何开始学习用Python来使用Windows的API呢?

12 个回答

7

我非常推荐theForger的Win32 API教程。虽然这是一个C语言的教程,但作者会一步一步地带着你,教你一些基础知识。而且这个教程也比较简短,这点在学习的时候很不错。

26

大约四年前,我开始真正理解Windows API。当时我在用C#编程,但我觉得这个框架把我和API隔得太远了(确实是这样)。所以我换成了Delphi(C++或C也是不错的选择)。

我认为,开始学习一个能生成本地代码并且可以直接与Windows API对话的语言是很重要的,这样你才能真正关注缓冲区、指针、结构体以及Windows直接使用的真实构造。C#是一门很棒的语言,但并不是学习Windows API的最佳选择。

接下来,买一本Mark Russinovich的书《Windows Internals》 亚马逊链接。这是第五版。第六版将在2012年4月发布,增加了关于Server 2008 R2和Windows 7的信息。

现在,最重要(也是最好的)学习Win32 API的资源是:

Mark Russinovich的Windows操作系统内部课程,这是免费的。

这个课程是为老师设计的,用来教学生。我看过,真的很棒。里面有很多例子、历史背景和详细的解释。在我看来,这是学习Windows API的理想方式。

Mark Russinovich是微软的技术专家(微软只有14位这样的专家,包括C#的创造者)。他曾经拥有Winternals,后来把它卖给了微软,他在卡内基梅隆大学获得了计算机工程的博士学位,常常在微软的会议上做演讲(甚至在他为微软工作之前),而且他非常聪明。他的演讲是我每年参加微软TechEd的主要原因之一。

43

老实说,没有。Windows的API就像一个重达800磅的怪物,外面还长满了毛。曾经有一本查理·佩佐尔德的15磅重的书,是这方面的权威参考书。

不过,Python for Windows的团队提供了一些不错的资料。微软也在网上发布了完整的API,里面有一些示例代码等等。而维基百科的文章也能给你一个很好的概述。

撰写回答