AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

exe starten befehl ausführen, schließen

Ein Thema von King Lui · begonnen am 15. Jan 2006 · letzter Beitrag vom 15. Jan 2006
Thema geschlossen
King Lui

Registriert seit: 15. Jan 2006
17 Beiträge
 
Delphi 7 Architect
 
#1

exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:06
Hallo ich wollte mal was basteln, das einfach nur nen befehl ausführt und zwar das hier
Delphi-Quellcode:
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;
Ich möchte, dass wenn man das programm startet nichts davon sieht also nichts taskleiste und nicht aufm bildschirm. dann soll es den befehl
DisableTaskMgr(False); asuführen und dannach sofort wieder schließen ich hab es dann mit demhier probiert
Delphi-Quellcode:
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;
aber das geht nicht. wie geht es richtig?
Matthias Hollerbach
 
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#2

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:10
Also. Ich würde in die FormCreate einfach das reinschreiben. Meines Achtens versteckt es das Programm ganz.

Hide; Dann schließ es einfach.

Close; oder

Application.Terminate; Ich hoffe, ich habe dich richtig verstanden.
 
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:11
Packe deinen ganzen Sourcecode nur in eine Projektdatei, so das Du kein Fenster erstellst. Ich würde erst garkeine Form erstellen lassen.
Rolf Warnecke
App4Mission
 
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#4

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:13
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!
 
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:15
@Chrissi91: Warum so kompliziert?
Application.ShowMainForm := false in formCreate oder ins Projekt, und fertig.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:16
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: exe starten befehl ausführen, schließen

  Alt 15. Jan 2006, 14:17
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Thema geschlossen


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz