WinAPI/Win32 之间有什么根本区别吗?利用新操作系统功能是否需要任何其他知识?
过去编写过 Win32 应用程序的人是否可能会陷入任何陷阱?
我不是在谈论 Silverlight,那是一个完全不同的蜡球。 (我还没有在工作中支持这一点的 VS。)
编辑:
到目前为止,德鲁已经给出了一个很好的答案,但是对于程序员来说最重要的是要知道什么?
即查尔斯·佩措尔德的书的附录中应该包含什么内容? (理论上)
当然,您应该了解许多新的 API,以确保您拥有所需的工具。除此之外,还有一些变化需要注意。
哲学变革
旧的 win32 API 的大部分集中于传递句柄的 C 风格 API。如今,许多正在开发的新 API 都是基于 COM 的,因此加强 COM 和 ATL 是值得的。
如果您正在编写自己的库,您可能还需要注意新的 API 样式,它更加一致,并且避免了匈牙利表示法等内容。
替换品
一般来说,不要认为您 10 年前知道的方法仍然是最先进的;它们仍然存在,因此您不一定会被告知您做错了。检查 MSDN,看看它是否向您推荐了更好的东西,并使用最新的 SDK,以便您会收到某些功能的弃用警告。特别是,请确保您使用的字符串函数是安全的。
具体来说,一个“替代”API 是 Direct 2d,它是一种用于 UI 的 DirectX 风格的 API。如果您正在为 Windows 7 编写图形代码,则应该考虑使用 Direct2d 而不是 GDI,它的编程模型与 GDI 兼容,但又截然不同。 Direct 2d 可能会移植回 Vista。
另外,不要使用 win32 风格的菜单,请考虑使用功能区,该功能区适用于 Vista 和 Win7。
如果您使用通用控件库,请确保使用 v6,而不是默认的 v5。
最后,确保您没有不必要地调用需要管理员权限的内容,因为这会提示 UAC。
目前我能想到的就这些了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)