AGB  ·  Datenschutz  ·  Impressum  







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

Test-Programm

Ein Thema von TJDD · begonnen am 5. Sep 2005 · letzter Beitrag vom 13. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#11

Re: Test-Programm

  Alt 9. Sep 2005, 17:47
der Code ist mein Projekt ich wollte nur dies ereichen ich werde mal genau den Genauen Pfad angeben und auf groß und klien schreibung achten
  Mit Zitat antworten Zitat
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#12

Re: Test-Programm

  Alt 10. Sep 2005, 13:09
sry für den Doppelpost wollte das man das aktualisierte besser sieht


Also ich habe mir mal gedanken gemacht und ich denke das Problem ist gelöst

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  hProcess: THandle;
  wf: DWORD;
begin
  bClose := False;
  while bClose = False do
  begin
    hProcess := GetProcessHandleFromID(GetProcessID('C:\Programme\TightVNC\WinVNC.exe'));
    if hProcess = 0 then
      begin
        [b]Timer1.enabled := false;[/b]
        winexec(pchar('C:\Programme\TightVNC\WinVNC.exe'),sw_shownormal);
      end
    else
     [b] Timer1.enabled := true;[/b]
    Application.HandleMessage;
  end;
habe mal den Timmer deaktiviert wenn das programm an ist erst wenn es aus ist wird er wieder akriv
  Mit Zitat antworten Zitat
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#13

Re: Test-Programm

  Alt 12. Sep 2005, 12:02
So habe dann noch ne frgae wie bekomme ich das Programm in die Regetry so dass es automatisch bei Windowsstart geladen wird??
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Test-Programm

  Alt 12. Sep 2005, 12:06
Siehe: AutostartAutostart
  Mit Zitat antworten Zitat
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#15

Re: Test-Programm

  Alt 12. Sep 2005, 21:08
Zitat:
original von Dieser Code stammt von Daniel B.:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
    Reg.WriteString('NameDerAnwendung', ParamStr(0));
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;
Muss nun unter namen der anwendung nur der name oder der komplette pfad

Z.B

Project1.exe

oder

c:\Projekt1.exe
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Test-Programm

  Alt 12. Sep 2005, 21:35
Soweit ich das sehe ist das nur eine Beschreibung da der Komplette Pfad ja mit ParamStr(0) als Wert eingetragen wird.
Project1.exe würde also reichen.

P.S.: Wie war das noch gleich mit: "Neue Frage - neuer Thread"?
Jan
  Mit Zitat antworten Zitat
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#17

Re: Test-Programm

  Alt 12. Sep 2005, 23:23
gehört aber noch zu dem obigen Programm daher nix neues wollen aufmachen

Also nur Programmname

DANKE
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#18

Re: Test-Programm

  Alt 12. Sep 2005, 23:37
Wäre es nicht am einfachsten, wenn dein "Watchdog" auch den überwachten Prozeß direkt startet? Somit wäre ein Handle vorhanden und der Watchdog könnte über eine der Wait*-Funktionen warten. Wenn du das in einer Schleife machst, wird der Prozeß immer wieder neu gestartet.

Abgesehen davon ist WinExec() "deprecated" und deine Timer1-Methode hoch ineffektiv. Aber jedem das seine

Desweiteren ist die Funktion GetProcessID() abgesehen von der Inkompatibilität zu Windows NT 4 nicht generisch funktionsfähig! Leider ist der Puffer nicht groß genug um beliebige EXE-Namen zu halten. Wenn also ein zu langer Name gesucht wird, so wird er nicht gefunden, weil der Puffer zB schon bei ".e" statt ".exe" aufhört.
  Mit Zitat antworten Zitat
TJDD

Registriert seit: 25. Aug 2005
26 Beiträge
 
#19

Re: Test-Programm

  Alt 13. Sep 2005, 11:32
Sehr schon das mir das jmd sagt Dsnke dir Olli

Kann man das irgendwie verbessern so das es effektiver ist??

Und gibt es eine besser Fucntcion als GetProcessID() ??

Danke für diese gute Hilfe
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#20

Re: Test-Programm

  Alt 13. Sep 2005, 12:58
Zitat von TJDD:
Kann man das irgendwie verbessern so das es effektiver ist??
Jupp, zB so wie ich das gesagt habe und dann das Ganze in einen Thread auslagern. Da können dir hier andere aber auch weiterhelfen. Ich bin nämlich ab heute Nachmittag bis Freitag nicht verfügbar.

Statt WinExec kannst du dann zB Hier im Forum suchenShellExecuteAndWait (Direktlink) benutzen und in eine Schleife innerhalb eines Threads packen. Dann der Waitfunktion ist das allein schon effektiver, weil eben nicht ein Timer ewig pollt, sondern du quasi benachrichtigt wirst.

Zitat von TJDD:
Und gibt es eine besser Fucntcion als GetProcessID() ??
Nein. Mir wäre da nichts bekannt. Auf NT/2000 usw. steckt das Problem bereits in der Native API, auf der die Toolhelp-API aufsetzt. Da kann man wohl bloß pragmatisch herangehen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:26 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