unsichtbares Programm
-
Hallo zusammen,
bin ziemlich neu hier (1.beitrag) und hab gleich mal eine frage

ist es in C (Konsolenanwendung) möglich ein unsichtbares Programm zu schreiben. Also wo im Hintergrund abläuft ?? wo man gegebenenfalls nur im Task-Manager sieht??
Danke schonmal im voraus, für die HilfeMasterD
-
Das hat nichts mit Ansi C zu tun. Guck ins WinAPI Forum.
-
Wenn du ein Programm mit der gewöhnlichen main()-Funktion schreibst, linkt der Linker, sofern du für ein OS mit GUI kompilierst, Code hinzu, der vor dem Start des Programms eine Möglichkeit zum Zugriff auf eine Konsole herstellt, die von printf()/scanf() etc. verwendet werden kann. Dies wirkt sich unter Windows z.B. durch das Öffnen eines Konsolenfensters aus, wenn du das Programm nicht bereits aus einem solchen heraus startest. Um dieses zu vermeiden, mußt du deinen Linker dazu bewegen, obiges nicht zu tun, so daß Programm ohne Zugriff auf eine Konsole gestartet wird. Wie das zu tun ist, ist OS- und compilerabhängig. Unter Windows z.B. geschieht es, indem man eine compilerspezifische Option verändert, so daß der Linker einen anderen Startup-Code hinzulinkt, und nicht die Funktion main(), sondern die Funktion WinMain() definiert.
-
feigling schrieb:
Das hat nichts mit Ansi C zu tun. Guck ins WinAPI Forum.
Eben. Ich verschieb mal.
-
Dieser Thread wurde von Moderator/in TactX aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Erstelle einfach eine Windows-Anwendung und erzeuge kein Fenster. Dann hast Du ein "unsichtbaren" Prozess (der nur im Task-Manager unter Prozesse auftaucht).
Eine Konsolenanwendung hat eine Console und ist somit (per default) nicht unsichtbar.
-
Ansonsten kannste auch ne Konsole erstellen und dann das Konsolenfenster ausblenden.
Is zwar keine feine Programmiererart aber vllt für den Anfang einfacher.
Siehe:
- GetConsoleWindow
- FindWindow
- ShowWindow
MFG
Ace
-
AceKiller73 schrieb:
Is zwar keine feine Programmiererart aber vllt für den Anfang einfacher.
Du meinst, es sei einfacher, das Konsolenfenster über die Benutzung diverser API-Befehle aufzufinden und zu verstecken (was übrigens immer noch zum kurzen Auftauchen eines Fensters führt), als einfach das Programm mit WinMain() anstatt mit main() beginnen zu lassen und eine Compileroption umzustellen?

Ganz zu schweigen davon, daß dies eine in höchstem Maße fragwürdige Herangehensweise an Probleme ist. Du läßt den Compiler für dich etwas erstellen, das du direkt danach versteckst, anstatt es einfach zu unterbinden.
Ein Lektüretip: lies mal das hier, speziell den Abschnitt "The intimate parasite of Sound Recorder". Danach dürftest du das etwas anders sehen.