visualc&x2B+;:在Windows窗体应用程序中隐藏命令提示 我在VisualC++窗口窗体应用程序中遇到了一些麻烦(我对语言本身来说是一个新的方面,但是我很好地理解了其他语言)。在不同的时间使用system(),命令提示符会在瞬间弹出。我当然想阻止这一切。我四处搜索,发现了这个: #define _WIN32_WINNT 0x0500 #include <windows.h>

visualc&x2B+;:在Windows窗体应用程序中隐藏命令提示 我在VisualC++窗口窗体应用程序中遇到了一些麻烦(我对语言本身来说是一个新的方面,但是我很好地理解了其他语言)。在不同的时间使用system(),命令提示符会在瞬间弹出。我当然想阻止这一切。我四处搜索,发现了这个: #define _WIN32_WINNT 0x0500 #include <windows.h>,c++,visual-studio,visual-c++,command-line,command-prompt,C++,Visual Studio,Visual C++,Command Line,Command Prompt,以下是我的主要功能: void Main(array<String^>^ args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); BoxBeta::BoxForm form; Application::Run(%form); ShowWindow(GetConsoleWindow(), SW_HIDE);

以下是我的主要功能:

void Main(array<String^>^ args) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    BoxBeta::BoxForm form;
    Application::Run(%form);
    ShowWindow(GetConsoleWindow(), SW_HIDE);
}
void Main(数组^args){
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
BoxBeta::BoxForm形式;
应用程序::运行(%form);
显示窗口(GetConsoleWindow(),SW_HIDE);
}

系统命令在文本框文本更改触发的事件内调用。我得到的错误是LNK1120未解析外部,它似乎与ShowWindow行直接一致。有人能给我指一下正确的方向吗?谢谢您的时间。

不要试图隐藏命令窗口,而是首先避免创建它(例如,使用CreateProcess、ShellExecute、ShellExecuteEx、WinExec或.NET中内置的东西,因为您实际上使用的是C++/CLI或类似的,而不是实际的C++)。Process.Start()可能是解决此问题的最佳方法,而不是system(). 这里有一个例子:谢谢你;我最终使用了ShellExecute,这正是我所需要的。
void Main(array<String^>^ args) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    BoxBeta::BoxForm form;
    Application::Run(%form);
    ShowWindow(GetConsoleWindow(), SW_HIDE);
}