cmd verstecken?
-
hi,
ich wollt mal fragen wie ich bei meinen programm unter windows die cmd verstecken kann da es nur im hintergrund laufen soll. ich hab zwar im internet schon verschiede sachen zum includieren gefunden, die sind aber alle viel zu komplex(die sind für alles mogliche für die cmd z.b. cursor pos. fabre u.s.w.)wie kann ich das am besten machen?
-
Hi.
Schreib einfach eine Windows Anwendung, wo kein Fenster gezeichnet wird
-
wie soll ich das verstehn? wenn ich ein ein programm schreibe das irgendwelchen code ohne ein oder ausgabe führt der das doch trotzdem in ner komandozeile aus
wie geht das?trotzdem erstmal danke
-
meinst du die windows eingabe aufforderung oder ein programm?
wenn du ein normales programm meinst dann benutz das:
ShowWindow(hwnd,SW_HIDE);
-
#include <iostream> #include <windows.h> using namespace std; int main() { HWND hwnd = FindWindow("ConsoleWindowClass",NULL); ShowWindow(hwnd,SW_HIDE); cout << "Oo\n"; system("PAUSE"); }
-
Ich vermute er meint ein Programm welches versteckt im Hintergrund läuft. Also ein ganz normales programm, allerdings soll es nicht angezeigt werden sondern versteckt laufen.
Oder?
-
dann den code da oben
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
öhm schrieb:
#include <iostream> #include <windows.h> using namespace std; int main() { HWND hwnd = FindWindow("ConsoleWindowClass",NULL); ShowWindow(hwnd,SW_HIDE); cout << "Oo\n"; system("PAUSE"); }
Statt FindWindow(...) ja wohl viel lieber GetConsoleWindow()?
MfG SideWinder
-
na genau so!
danke
-
ich depp -.-
-
Also ich habs mal ausprobiert, da ich genau den gleichen Anspruch für mein Programm habe. Nachteil dieser Methode ist, das das Konsolenfenster trotzdem für einen kleinen Augenblick aufgeht, und dann wieder verschwindet.
Ich habe nämlich ein Programm, welches von einem anderen Programm aufgerufen wird, wenn der User eine bestimmte Aktion ausführt. Da ist es ziemlich lästig, wenn immer wieder dieses Fenster aufpoppt. Aus ganz bestimmten Gründen kann und will ich es nicht als LIB oder DLL erstellen.
Insofern hat __charlie__ mit seiner Lösung schon den richtigen Weg gezeigt: eine Windows-Anwendung erstellen, also mit einer WinMain() anstatt main() und dann wird kein Konsolenfenster aufgehen.
Werd ich wohl auch so machen müssen...
-
@Artchi: Das kommt drauf an, wenn du niemals die Konsole brauchst ist eine Konsolenanwendung natürlich Schwachsinn. Wenn du allerdings die Konsole nur teilweise verstecken willst dann ist der Weg der Richtige.
MfG SideWinder
-
Wenn du ein Fenster erzeugst wird dieses Fenster erst erzeugt wenn die erste Msg erzeugt (übergeben) wird. (siehe auch Structure MSG)
Das heißt kongret: programmiere ein Fenster und unterlaß jegliche Messages- dann hast du ein Win32- Programm das völlig im Hintergrund läuft.....
yrs Buddy Love
-
Wenn Du kein Fenster brauchst, dann macht man auch keines. Das hat primär gar nichts damit zu tun ob man nun SUBSYSTEM:Console oder SUBSYSTEM:WINDOWS angegeben hat.
In beiden kann man sowohl Fenster erstellen als auch die Console verwenden.
-
ist das so? Aber die Fragestellung hatte ich etwas anders im Kopf....Na ja, da wird einem schon mal schwindelig bei der ganzen Informationsflut hier im Forum hi...Aber die Geschichte mit deinem PrimaryThread weiter oben....ohauaha
-
gibt es eine möglichkeit auch die Befehle die ich mit System ausführe zu verbergen
-
Ähme wie meinsten das?
-
freund schrieb:
gibt es eine möglichkeit auch die Befehle die ich mit System ausführe zu verbergen
Ja, du Viren-/Trojaner-/Backdoormurkser
Ehrliche Antwort: system( ) nicht verwenden...
Greetz, Swordfish
-
Bei mir gehts trotzdem nicht kompilieren...