![]() |
exe starten befehl ausführen, schließen
Hallo ich wollte mal was basteln, das einfach nur nen befehl ausführt und zwar das hier
Delphi-Quellcode:
Ich möchte, dass wenn man das programm startet nichts davon sieht also nichts taskleiste und nicht aufm bildschirm. dann soll es den befehl
procedure DisableTaskMgr(bTF: Boolean);
var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Software', True); reg.OpenKey('Microsoft', True); reg.OpenKey('Windows', True); reg.OpenKey('CurrentVersion', True); reg.OpenKey('Policies', True); reg.OpenKey('System', True); if bTF = True then begin reg.WriteString('DisableTaskMgr', '1'); end else if bTF = False then begin reg.DeleteValue('DisableTaskMgr'); end; reg.CloseKey; end;
Delphi-Quellcode:
asuführen und dannach sofort wieder schließen ich hab es dann mit demhier probiert
DisableTaskMgr(False);
Delphi-Quellcode:
aber das geht nicht. wie geht es richtig?
procedure TForm1.FormCreate(Sender: TObject);
begin ShowWindow( Application.Handle, SW_HIDE ); SetWindowLong( Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow( Application.Handle, SW_SHOW ); DisableTaskMgr(False); close; end; |
Re: exe starten befehl ausführen, schließen
Also. Ich würde in die FormCreate einfach das reinschreiben. Meines Achtens versteckt es das Programm ganz.
Delphi-Quellcode:
Dann schließ es einfach.
Hide;
Delphi-Quellcode:
oder
Close;
Delphi-Quellcode:
Ich hoffe, ich habe dich richtig verstanden. :mrgreen: :stupid:
Application.Terminate;
|
Re: exe starten befehl ausführen, schließen
Packe deinen ganzen Sourcecode nur in eine Projektdatei, so das Du kein Fenster erstellst. Ich würde erst garkeine Form erstellen lassen.
|
Re: exe starten befehl ausführen, schließen
Ich sehe gerade, es geht nicht, wenn du Hide in die FormCreate schreibst. Dann schreibs einfach in einen Timer, der an ist. Interval stellst du dann auf 1.
P.S.: Hab ich vergesse. Herzlich Willkommen in der DP! :party: |
Re: exe starten befehl ausführen, schließen
@Chrissi91: Warum so kompliziert?
Application.ShowMainForm := false in formCreate oder ins Projekt, und fertig. Gruß, ManuMF |
Re: exe starten befehl ausführen, schließen
anstelle von Hide sollte man in dem fall Application.ShowMainForm auf False setzen. Aber wie bereits geschreiben wurde ist es sinnvoller einfach alles in die Projektdatei zu schreiben und kein Fenster erst zu erstellen wenn man sowieso keins benötigt.
|
Re: exe starten befehl ausführen, schließen
Ich schließe hier erstmal, da dieses Programm wohl gegen den Kodex der DP verstößt. Dem Benutzer den Taskmanager zu deaktivieren ohne, dass dieser was davon mitbekommt ist nicht die feine Englische Art.
@King Lui: Bitte erläutere mir per PN, was du damit bezweckst bzw. was das soll. Davon abgesehen noch ein paar Anmerkmngen um Code: - Es fehlt der Ressourcenschutzblock mit try-finally. - Das Registry-Objekt wird nicht wieder freigegeben. - Man kann einen Unterschlüssel direkt öffnen, in dem man den kompletten Pfad angibt - Überleg mal was du da im OnCreate-Ereignis probierst, du willst in das Auto einsteigen und gleichzeitig wieder aussteigen. Kann das Funktionieren? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz