适用于Mac用户的Windows黑客指南?

时间:2010-03-08 13:18:07

标签: windows windows-7

我是长期 Mac用户,希望对Windows有一个很好的理解。我希望能够控制环境,了解操作系统如何组合在一起,最后我想,考虑应用程序开发。我对历史并不感兴趣,因为它仍与Windows 7有关。

我能胜任Mac和UNIX / Linux环境。我住在C,Objective-C,Bash,Python,JavaScript,AppleScript和PHP中。因此,我想要一些介绍性但不针对初学者的东西。

任何人都可以推荐一本体面的书(或其他资源)来帮助我入门吗?

TIA

3 个答案:

答案 0 :(得分:4)

表面上看

开始使用这些语言。

更深 - 开始挖掘的好地方

  • Window Manager:读取Windows GUI Hello World C程序源代码。您应该知道诸如WM_消息之类的东西存在并且知道常见的类型以及至少一些windows.h使用的模糊内容,因此您可以感受到Windows API。可能仍会使用更高级别的工具包,如Windows Forms。
  • 注册表:它存在。大致了解COM组件注册和文件关联以及应用程序设置的完成情况。
  • 文件夹:了解用户配置文件的布局以及整个机器中的重要内容,包括隐藏文件和文件夹。
  • COM:高级别地了解IUnknown和结构化文件。知道COM!= .NET但它仍然存在。
  • 服务:了解服务如何启动和关闭。
  • 身份验证:在Win32 API中读取有关安全API的信息。了解管理员和系统帐户之间的区别。
  • 调度:阅读C Win32 API线程,同步和互锁操作原语。
  • 内核:阅读比较Linux,Mac和Win32执行模型的文章,并搜索调整参数。
  • 显示:屏幕上有很多API:DirectX,GDI,GDI +。了解如何阻止这些不同的API相互争斗。
  • .NET:了解.NET垃圾收集器以及.NET和非.NET代码如何交互,并在同一进程中以较低级别进行安排。
  • ADO:使用C#运行一些测试,看看你得到了什么性能和并发性。
  • WinSock:请参阅GLIB源代码,了解如何处理套接字API中的差异。

最后知道你不能在Windows中分叉Win32进程,并且这些应用程序在很高的级别附加到与“桌面”和“Window Station”对象相关的许可。

答案 1 :(得分:3)

这个Petzold家伙在第一次出现时为Windows编程做了很多“写了这本书”,他还在继续(http://www.charlespetzold.com/books.html

答案 2 :(得分:2)

我开始在UNIX机器上运行,然后运行到Mac,然后运行到Windows,最后在Mac Pro上运行Windows和Mac。在你提到的语言中,C,Python,Javascript和PHP,Mac和Windows之间没有任何值得讨论的差异。显然,AppleScript是不存在的,我不确定Objective C,因为我不使用它。

我建议您使用VMWare Fusion之类的东西在Mac上制作Windows虚拟机。我就是做这个的。这样,您就可以在Unix中编写批处理文件的脚本,并将它们应用到Windows环境中。

如果不可能,对于Bash,您可以在Windows上使用Cygwin。它是Windows命令行的UNIX版本,可以让您完成UNIX中的功能。

同样值得您学习.Net框架。如果您正在为Windows开发,您可能希望获得Visual Studio。学习C#是你可以开始做的最好的事情,因为它正迅速成为Windows的通用语言

我不能指出你的任何书籍,因为我以前学习Windows的那些书现在已经有10年了,但我希望这篇简短的介绍会有所帮助。