我創建了控制檯類型項目,但現在看看我需要win32類型。是否有可能在飛行中改變它?是否可以在創建後更改VC++ prj的項目類型
真正的原因是什麼,我必須的hInstance運行我的窗口,所以我需要的入口點是這樣的:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
我創建了控制檯類型項目,但現在看看我需要win32類型。是否有可能在飛行中改變它?是否可以在創建後更改VC++ prj的項目類型
真正的原因是什麼,我必須的hInstance運行我的窗口,所以我需要的入口點是這樣的:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
真正的問題的真正答案是:您不需要將hInstance
參數傳遞給_tWinMain
。 GetModuleHandle(NULL);
返回相同的東西。
要回答問題:將控制檯應用程序更改爲GUI應用程序非常簡單,只需使用/SUBSYSTEM:WINDOWS鏈接器選項指定不同的子系統並提供適當的入口點(由CRT調用)即可。如果尚未明確設置,鏈接器將根據/ SUBSYSTEM選項選擇正確的入口點。如果您更改了入口點,則還必須使用/ENTRY鏈接器選項更新它。
所有選項都可以通過Visual Studio GUI訪問,或者在相應的* .vcproj文件中手動更改。
據我所知,沒有嚮導或內置的工具,這樣做。至少不是在我使用的Visual Studio版本中(高達VS2008)。
您可以手動完成,編輯所有不同的零件。您可以創建新類型的空項目,並將不同的任何內容複製到您的代碼中。
但是,我想我會走相反的路。我會創建一個你需要的類型的新空項目,並複製你已經創建的所有代碼/設置。
我認爲提取這些代碼設置並不是那麼簡單,儘管它可能放置在sln或prj文件的不同部分。 – Yola 2013-05-06 16:31:18