C++ WIN32: Ausführen eines Programmes ohne eine Eingabeaufforderung
Ich habe ein Programm geschrieben, was löst ein relais schalten auf einen seriellen port. Das relais ist geschlossen, 10ms nach dem das Programm beendet sich. Das Programm ist jedoch darauf besteht, läuft in einem kleinen Fenster der Eingabeaufforderung. Ich möchte das Programm ausführen ohne stehlen konzentrieren; entweder im hintergrund laufen oder, noch besser, ohne ein Fenster zu öffnen überhaupt.
Hier ist das vollständige Programm:
#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;
}
Was muss ich ändern, um zu verhindern, dass es läuft in einem Fenster?
- Danke, angepasst, Phraseologie
- Haben Sie versucht das Programm zu starten mit
yourapp.exe /NOCONSOLE
parameter? - Ausprobiert - es funktioniert nicht 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie,
Wenn das nicht funktioniert, versuchen zu verbergen Sie das Fenster manuell:
#define _WIN32_WINNT 0x0500
Welche Art von Projekt hast du? Wenn Sie die Konsole-Anwendung, der compiler tut es. Stellen Sie eine leere Win32-Anwendung mit den oben genannten Quelle. Kein Fenster erstellt werden soll. Wenn es so ist, überlegen Sie, wie Sie sind, Sie die Anwendung starten (start, cmd /c, etc)
#pragma
sollte zu beheben.