2013-06-24 182 views
1

我目前正在製作一個C++ GUI應用程序,但我遇到以下問題。在程序中我有一個MyForm.cpp和一個Myform.h(只有一個按鈕)。當應用程序啓動控制檯並打開窗體時。這是默認的嗎?或者我該如何禁用它?主要代碼是:控制檯在運行GUI C++應用程序時打開

#include "MyForm.h" 

using namespace System; 
using namespace System::Windows::Forms; 

[STAThread] 
int main(array<String^>^ args) 
{ 
    Application::EnableVisualStyles(); 
    Application::SetCompatibleTextRenderingDefault(false); 

    Namespace::MyForm form; 
    Application::Run(%form); 
} 

希望有人能幫忙嗎?

+0

我看來你實際上並沒有將它編譯爲windows應用程序。在項目設置中有一個選項可以在控制檯和Windows應用程序之間進行切換(Windows應用程序不能使用控制檯,而控制檯應用程序可以顯示窗體,但總是可以看到控制檯)。 –

回答

3

在你的.pro文件中添加此: - >屬性 - >連接 -

ENTRY = mainCRTStartup 

OR

在VS,右鍵點擊你的項目>系統

,選擇「窗口(/SUBSYSTEM:WINDOWS)「子系統。

+1

這有效,但我不得不添加:/ ENTRY:「mainCRTStartup」到屬性 - >鏈接器 - >命令行 – compu92

2

如果您使用的是CRT建立和存在,你可以使用這個沒有WinMain函數:

#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")//hide console window

隱藏控制檯。

+1

我不確定隱藏在代碼中的編譯指示是否是編譯器選項的最佳位置。 –

+1

這是一個代碼問題,所以我雖然我會回答代碼,否則只是去鏈接器選項,並將子系統更改爲Windows ..(但如果你這樣做,你需要有「WinMain」) – 2013-06-24 12:43:58

+0

其實這是一個很好,甚至如果駭人聽聞,解決方案。 –

相關問題