2010-07-08 54 views
2

我一直在從在線和PDF書籍學習Windows API,但聽說有人使用sdk和visual studio程序。我該怎麼辦?我會創建API但非常複雜。我會從學習API中受益嗎,還是應該爲我寫代碼或程序?我有MSC++Ë,但我不認爲它與那些benifts創建Windows應用程序的最佳方式

回答

5

在windows的情況下,SDK和Win32 API指的是幾乎相同的東西。 SDK是你所需要的所有API來定位API(這總是一個「SDK」)。當您在Windows(或交叉編譯器)上使用非VC編譯器時,必須下載SDK才能編寫win32程序。

很少有針對Win32 API本身有用的情況。你通常想用MFC,WTL或WX這樣的API在更高層次上工作(我包括WX,因爲對於Windows而言,它實際上是Win32的包裝器)。也有圖書館自己做的事情,只是自己繪製一切(所有所有者繪製的窗口),如Qt,GTK等。

如果您正在使用特定於Windows的庫,最終仍然會觸摸Win32 API偶爾但只有一小部分。您將節省很多時間,只是讓這些部分出現,而不是實際嘗試學習API本身。沒有任何人沒有瘋狂或遭受酷刑提交寫入原始的Win32。

5

你一定要使用Visual Studio在直接使用Windows SDK的GUI編程。你可以下載Visual Studio Express edition先試試。

如果你想要更簡單的東西你可以看看到.NET編程,或者如果你想留在C++那很好,以及你可以直接使用的Win32 API或MFC編程。在大多數情況下,你可能不需要直接的Win32 GUI編程和MFC,但是如果你這樣做,考慮從Charles Petzold(在Win32上)或Jeff Prosise(在MFC上)購買一本書。

+1

我幾乎會給出一個-1來提及邪惡的MFC kludgy黑客宏垃圾有這麼多的錯誤,你最終主要寫win32直接反正。 – 2010-07-08 20:06:21

+0

@Greg:沒有那麼糟糕,但與.NET編程相比,這兩者都非常困難。 – 2010-07-08 20:09:16

+0

多年來一直是MFC程序員,我肯定會推薦在MFC上學習.NET。並不是說MFC非常糟糕,而是.NET更好。 – Avalanchis 2010-07-08 20:11:37

12

雖然學習的原始的Windows API肯定有它的用處,我建議你學習像Qt的工具包。

+1

QT是編寫與平臺無關的應用程序的絕佳選擇。 – Avalanchis 2010-07-08 20:07:04

+0

QT是編寫應用程序的好選擇。 – 2010-07-08 21:50:44

2

您的問題的最佳答案可能取決於很多事情。

我一直在開發適用於Microsoft Windows平臺的應用程序了將近二十年,我利用一切從筆直的Windows API,支持Turbo Pascal,MFC,用Borland C++ Builder和Visual Basic中。

我已經嘗試了許多跨平臺工具包包括作爲的wxWidgets和QT和這些肯定有自己的位置,並創建將在Windows在內的多種運行的應用程序極好的選擇。通常,如果您只想定位Windows平臺(儘管如此),恕我直言,使用C#語言通過Visual Studio定位.NET平臺可能是您找到的最簡單且功能全面的環境今天構建Windows應用程序。

你得到一個優秀的工具集和豐富的文檔也可能是最重要的一個非常大的基地有經驗的程序員,當你有疑問可資借鑑。

.NET還支持C++和各種其他語言以滿足您的需求。如果您需要低級別訪問Win32 API,則可以使用pinvoke直接訪問API。如果您需要更低級別的控制,則可以從.NET應用程序中引用託管或非託管DLL。

1

我知道編寫原生應用的人越來越少,特別是對於單個平臺,特別是當該平臺是Windows時。雖然顯然仍然有這種需求,但我不確定今天我是否願意投入大量精力來學習Windows API的細節。

我想看看Titanium這樣的東西,它可以讓我使用網絡工具。它非常高級,對於我所做的任何事情來說都足夠快,它是開源的,它是跨平臺的(甚至是在網絡上)。我已經看到了應用程序(在Titanium之前),這些應用程序被編寫爲帶有自己的渲染和JavaScript引擎的網頁。

相關問題