5 Stimmen

Starten eines versteckten C++-Programms

Ich erstelle ein C++-Programm mit Visual Studio 2010, das im Hintergrund meines Rechners laufen soll.

Wenn ich es starte, sollte ich also nicht den CMD-Bildschirm sehen, während es läuft. Wie kann ich das tun? Muss ich die Win32-API verwenden oder reicht ein normales C++-Programm aus?

Bitte beachten Sie, dass mein Programm überhaupt keine grafische Benutzeroberfläche hat.

14voto

FailedDev Punkte 25987

WinMain() verwenden:

#include <windows.h>

int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev,LPSTR cmd,int show)
{
  // program starts here
  return 0;
}

// int main()  <-- remove main() 

Stellen Sie dann sicher, dass Ihre Projekteinstellungen so eingestellt sind, dass Sie ein "Win32"-Programm und kein "Konsolen"-Programm erstellen.

enter image description here

Bearbeiten: Wie @Sehe anmerkt, ist winMain möglicherweise nicht notwendig, obwohl ich mir nicht ganz sicher bin, wo diese Option liegt.

5voto

Adam Haile Punkte 29829

Als Dienst ausführen Siehe hier.

2voto

John Dibling Punkte 96619

Sehr oft wird ein Programm, das unter Windows ohne "Gesicht" läuft (z.B. ohne jegliche Benutzeroberfläche), als Dienst .

2voto

Sergey Kalinichenko Punkte 694383

Unter Windows, Dämon Programme werden implementiert als Dienstleistungen .

1voto

kichik Punkte 30440

Machen Sie es einfach zu einer GUI-Anwendung anstelle einer Befehlszeilenanwendung. Klicken Sie mit der rechten Maustaste auf das Projekt -> Eigenschaften -> Konfigurationseigenschaften -> Linker -> System -> SubSystem -> Windows (/SUBSYSTEM:Windows).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X