Davai Posted December 16, 2009 Report Share Posted December 16, 2009 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 pomagaUmie 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 More sharing options...
Toster Posted December 16, 2009 Report Share Posted December 16, 2009 Nie dzialaja to znaczy co dokladnie ? jaki kod bledu dostajesz przy probach tych operacji ? Always Dark<br /> Link to comment Share on other sites More sharing options...
Davai Posted December 16, 2009 Author Report Share Posted December 16, 2009 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 More sharing options...
olesio Posted December 16, 2009 Report Share Posted December 16, 2009 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 More sharing options...
Davai Posted December 16, 2009 Author Report Share Posted December 16, 2009 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 More sharing options...
Toster Posted December 16, 2009 Report Share Posted December 16, 2009 if Memo3.Lines[0]='createlog' then if not FileExists('logosik.txt') then Memo2.Lines.SaveToFile('logosik.txt');//TEZ NIE DZIAŁA zamien "logosik.txt" na "c:\logosik.txt" Always Dark<br /> Link to comment Share on other sites More sharing options...
Davai Posted December 16, 2009 Author Report Share Posted December 16, 2009 Tak już działa dzięki:) o to chodziło zrobiłem u siebie tak : przykładowo jak miałem TJ.SaveToFile( 'screen.jpg');9zxvzZa]UŃ[J^X[T] X][^S[YJH NY[NĘN Dzięki jeszcze raz:) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.