Anwendung minimiert öffnen
-
Sorry ... entweder die Suchfunktion hat nichts was sie mir geben kann, oder ich bin mal wieder zu blöd das Teil zu bedienen^^
Wie schaffe ich es, dass mein Programm nicht immer gleich dieses blöde Konsolen-Fenster öffnet, sondern einfach immer im Hintergrund bleibt und am besten sogar garnicht in der Taskleiste angezeigt wird?
-
Dieser Thread wurde von Moderator/in evilissimo 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.
-
So gehts:
#include <windows.h> #include <stdio.h> const char szConsoleTitle[ ] = "Hidden and Dangerous"; bool HiddeConsole( const char *szWindowName ); void ShowConsole( const char *szWindowName ); int main( ) { SetConsoleTitle( szConsoleTitle ); // ***** Versteck dich! ***** if( !( HiddeConsole( szConsoleTitle ) ) ) { printf( "Fehler!" ); Sleep( 2000 ); } // ***** Beweis das Konsole da ist und arbeitet ***** for( int i = 0; i < 5; i++ ) { MessageBeep( 700 ); printf( "\n %d. Beep\n", ( i + 1 ) ); Sleep( 1000 ); } // ***** Zeig dich! ***** ShowConsole( szConsoleTitle ); Sleep( 5000 ); return 0; } bool HiddeConsole( const char *szWindowName ) { HWND hWindowHandle = FindWindow( 0, szWindowName ); if( hWindowHandle == 0 ) return false; if( !( ShowWindow( hWindowHandle, SW_HIDE ) ) ) return false; return true; } void ShowConsole( const char *szWindowName ) { HWND hWindowHandle = FindWindow( 0, szWindowName ); if( hWindowHandle == 0 ) return; ShowWindow( hWindowHandle, SW_SHOW ); }
Greetz Tobi
-
T-H-X
Danke danke ... funktioniert wunderbar ...
Ich liebe dieses Forum
*_*
-
Wer nicht
-
hehe ... ka
Naja, was mir noch so einfällt ... wie kann man die Anwendung dann beenden, wenn sie im Hintergrund läuft, das Fenster also versteckt ist und die sleep-Funktion noch lange läuft, ich als Benutzer das Teil jetzt aber loswerden will?
-
Oh ... okey, das steht ja in den Prozessen ... also kann ich das Teil ja dort beenden^^
-
Joa das wäre eigentlich mal ne gute Frage, wie könnte man die Anwendung beenden, wenn sie "unsichtbar" ist? Ich meine mal man könnte ja eine Tastenabfrage in die main basteln, nur wenn dann der Process den Focus verliert, wirds damit auch nicht klappen, man könnte halt nur nen globalen Hook setzen, was meiner Meinung nach auch nicht die beste lösung wäre.
Hmm... vllt. könnte ja hier mal wär ne tolle antwort postenGreetz Tobi
-
Wieso benutzt du
FindWindow
? Macht doch einfachGetConsoleWindow
:
http://msdn.microsoft.com/en-us/library/ms683175(VS.85).aspxAlso den Code vereinfacht:
#include <windows.h> #include <stdio.h> int main() { // ***** Versteck dich! ***** ShowWindow(GetConsoleWindow(), SW_HIDE); // ***** Beweis das Konsole da ist und arbeitet ***** for( int i = 0; i < 5; i++ ) { MessageBeep( 700 ); printf( "\n %d. Beep\n", ( i + 1 ) ); Sleep( 1000 ); } // ***** Zeig dich! ***** ShowWindow(GetConsoleWindow(), SW_SHOW); Sleep( 5000 ); return 0; }
Auch
FreeConsole
undAllocWindow
wären Alternativen:
http://msdn.microsoft.com/en-us/library/ms683150(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms681944(VS.85).aspxGrüssli
-
Kannte die Methode net
und wollt wegen soner Kleinigkeit net wirklich die MSDN durchsuchen *g*