C++ WIN32:在没有命令提示符窗口的情况下运行程序

Cap*_*rog 2 c++ window

我编写了一个程序来触发串行端口上的继电器开关。继电器关闭 10ms,之后程序关闭。但是,该程序坚持在一个小的命令提示符窗口中运行。我希望程序在窃取焦点的情况下运行;要么在后台运行,要么更好,根本不打开窗口。

这是完整的程序:

#include <windows.h>

//Initialise Windows module
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
LPSTR lpszArgument, int nFunsterStil)
{
 //Define the serial port precedure
 HANDLE hSerial;

 //Open the port
 hSerial = CreateFile("COM1",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

 //Switch on relay
 EscapeCommFunction(hSerial, SETDTR);

 //Wait 10ms
 Sleep(10);

 //Switch off relay
 EscapeCommFunction(hSerial, CLRDTR);

 //Close the port
 CloseHandle(hSerial);

 //End with error code 0
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我必须更改什么才能防止它在窗口中运行?

Ale*_*Sin 5

尝试添加

#pragma 注释(链接器,“/SUBSYSTEM:WINDOWS”)

如果这不起作用,请尝试手动隐藏窗口:

HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );