Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Programm unsichtbar starten
Chris K.
26.09.2007, 17:22
Weiss jemand wie man ein programm unsichtbar starten kann , also so das die cmd box unsichtbar is.
Wenn man zum beispiel einen piepton abspielen will kann man das schwarze fenster ja einfach schliesssen und der ton geht aus, wie kann ich das machen das das fenster unsichtbar is sodass man es nicht so einfach beenden kann?
ich glaub man kann das mit api machen indem einfach kein fenster fest legt
und dann mit
int höhe = 250 , Dauer = 1000000000000;
Beep(Frequenz,Dauer);
das beepen macht
vielleicht hilf dir das ein wenig weiter ^^
das sollte dir helfen die Konsole zu verstecken
AllocConsole();
ShowWindow(FindWindowA("ConsoleWindowClass",NULL),0);
bei erklärung bedarf kannste dich ja melden
mfg
zao
lowrider
27.09.2007, 07:24
hier noch eine Variante von mir die auch ganz gut geht.
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iostream>
int main()
{
HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );
return 0;
}
Allerdings ist es am sinnvollsten wenn man kein Fenster will das man keine Konsolenappli schreibt sondern eine Windows Anwendung ohne Forms.
Weil wenn du eine Konsolenanwendung machst wirst du ein kurzes Aufblitzen des Konsolenfensters nicht verhindern können.
greeZ
Wenn du Dev-C++ verwendest kannst du auch noch einstellen das er kein Konsolenfenster erzeugt. Das ist wie ich finde die einfachste Lösung.l
Allerdings ist es am sinnvollsten wenn man kein Fenster will das man keine Konsolenappli schreibt sondern eine Windows Anwendung ohne Forms.
Würde auch sagen, dass das die beste/gängigste Methode ist. Meistens werden auch Konsolenprogramme mit den WinApis realisiert, sofern es denn zwingend notwendig ist, ein Konsolenprogramm zu haben...
Normales Win32-Programm sähe dann ungefähr so aus:
#include <windows.h>
int __stdcall WinMain(HINSTANCE__ *Instance, HINSTANCE__ *PreviousInstance, unsigned char *CmdLine, unsigned int CmdShow)
{
return 0;
}
exodus407
01.10.2007, 18:00
also ich hab sowas schon mal gemacht und ich habs so gelöst
int main()
{
HWND beepzor;
beepzor=FindWindow("ConsoleWindowClass", NULL);
ShowWindow(beepzor, SW_HIDE);
for(;;)
{
Beep(50,50);
}
}
also wenn der user des PC's kein vollkommener Trottel ist dann würde er mit dem Taskmanager das programm beenden dazu könntest du natürlich noch die tastatur abfragen und wenn die taskmanager keys gedrückt sind dann soll er ihn beenden oder ganz primitiv gleich unter Beep(50,50);system("tskill taskmgr"); hin schreiben geht auch !
hoffe das hilft dir
mfg EXO
FormChanger
30.08.2008, 16:02
wie wärs denn miut FreeConsole(); ???
-[RiDER]-
31.08.2008, 02:54
Hi :)
Vielleicht bliebe es noch zu erwähnen, dass das kein Problem für C++ ist, sondern hat was mit der Laufzeitumgebung zu tun ;)
Für den gcc soll es wohl den dubiosen Compilerflag -mwindows geben, den habe ich aber noch nie getestet...
GreetZ RiDER :D :D: D
So,jetzt codet man noch n Autostart Eintrag dazu und voilâ: fertig ist ein kleines,nerventötendes tool:-D
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.