我一直在学习在线和PDF书籍的Windows API,但我听说有人使用sdk和visual studio程序。我该怎么办? API我创建但非常复杂。我是否可以从学习API中受益,或者我应该获得为我编写代码的sdk或程序?我有msc ++ e,但我不认为它带有那些问题
答案 0 :(得分:12)
虽然学习原始Windows API肯定有用,但我建议你学习像Qt这样的工具包。
答案 1 :(得分:5)
您肯定希望使用Visual Studio直接使用Windows SDK进行GUI编程。您可以先下载Visual Studio Express edition进行试用。
如果你想要更简单的东西,你可以看看.NET编程,或者如果你想继续使用C ++也可以,你可以直接使用Win32 API或MFC编程。在大多数情况下,您可能不希望直接使用Win32 GUI编程或MFC,但如果您这样做,请考虑从Charles Petzold(在Win32上)或Jeff Prosise(在MFC上)购买一本书。
答案 2 :(得分:5)
在Windows的情况下,SDK和Win32 API引用了几乎相同的东西。 SDK是您需要定位API的所有垃圾(这总是“SDK”)。当您在Windows(或交叉编译器)上使用非VC编译器时,您必须下载SDK才能编写win32程序。
在极少数情况下,定位Win32 API本身很有用。您通常希望使用类似MFC,WTL或WX的API在更高级别工作(我包括WX,因为对于Windows,它实际上是Win32的包装器)。还有一些库可以自己创建并自己绘制所有内容(所有所有者绘制的窗口),如Qt,GTK等。
如果您正在使用特定于Windows的库,您仍然会偶尔触摸Win32 API,但只会触及其中的一小部分。只需让这些部件出现而不是实际尝试学习API本身,您将节省大量时间。任何没有疯狂或被折磨成提交的人都会写原始的Win32。
答案 3 :(得分:2)
你问题的最佳答案可能取决于很多事情。
近二十年来,我一直在为Microsoft Windows平台开发应用程序,并且我已经使用了直接Windows API,Turbo Pascal,MFC,Borland C ++构建器和Visual Basic中的所有应用程序。
我尝试了许多跨平台工具包,包括wxWidgets和QT,这些工具包肯定有它们的位置,是创建不仅仅在Windows上运行的应用程序的绝佳选择。
一般情况下,如果您只想要定位Windows平台(尽管Mono Project),使用C#语言的IMHO使用Visual Studio定位.NET平台可能是最简单和功能最全的环境将在今天找到构建Windows应用程序。
您可以获得一套优秀的工具和丰富的文档,最重要的是,当您遇到问题时,可以使用经验丰富的程序员。
.NET还支持C ++和各种其他语言以满足您的需求。如果您需要对Win32 API进行低级访问,则可以使用pinvoke直接访问API。如果您需要更低级别的控制,则可以从.NET应用程序中引用托管或非托管DLL。
答案 4 :(得分:1)
我知道编写本机应用程序的人越来越少,特别是对于单一平台,尤其是当该平台是Windows时。虽然显然仍然需要这个,但我不确定我今天是否想投入大量精力来学习Windows API的细节。
我会看一下像Titanium这样让我使用网络工具的东西。它非常高级,它对于我所做的任何事情来说都足够快,它是开源的,它是跨平台的(甚至是在网络上)。我见过的应用程序(在Titanium之前)被编写为随自己的渲染和javascript引擎一起提供的网页。