dlaczego jeśli moja aplikacja ma uruchamiać sie samoczynnie po 2 uruchumieniach windowsa scieżka sie zmienia co się stało??
mam xp
dlaczego jeśli moja aplikacja ma uruchamiać sie samoczynnie po 2 uruchumieniach windowsa scieżka sie zmienia co się stało??
mam xp
dlaczego jeśli moja aplikacja ma uruchamiać sie samoczynnie po 2 uruchumieniach windowsa scieżka sie zmienia co się stało??
mam xp
Jezeli chcesz uzyskac odpowiedź sformatuj ten tekst używając znaków . , i dużych liter :-) .
[dopisane]
Chodzi mi o to że nie wiem o co tobie chodzi :| . Proponuje użyć polskiej składni bo pytanie jest jak dla mnie niezrozumiałe.
Jezeli chcesz uzyskac odpowiedź sformatuj ten tekst używając znaków . , i dużych liter .
o co ci chodzi??
moze oto ze to zdanie jest logicznie pozbawione sensu.
ja rozumie z tego tyle ze cos zmienia jakas sciezke dostepu gdy uruchamiasz swoj program.....
moj prog dodaje do HKEYlocalmachine\software\microsoft\windows\currentversion\run
sciezke tego programu z plikiem exe no wiesz i po 2 restartach sciezka tazmienia sie na inny katalog u mnie w xp w c:\document and settings{nazwa uzytkownika}\exe.exe
Radzę dokładnie przeanalizowac co, jak i kiedy zapisuje twoja aplikacja (bo windows samodzielnie raczej nie zmienia tego typu rzaczy).
NAJPIERW KAZALEM TYLKO JESLI PEWNA ZMIENNA ODCZYTYWANE Z REJESTRU = FALSE TO ZAPISUJE SCIEZKE DO REJESTTRU I ZMIENIA NA TRUE
Sypnij kodem
var reg:TRegistry;
Sciezka:array[0..MAX_PATH] of char;
plik:string;
{...}
plik:=extractfilename(Application.exename);
plik:=''+plik;
GetCurrentDirectory(Sizeof(Sciezka),Sciezka);
Reg := TRegistry.Create;
try
reg.rootkey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.WriteString('x',sciezka+plik );
finally
Reg.Free;
Hmm a moze odpalasz program raz w takim folderze raz w takim albo logujesz sie na dwoch innych Uzytkownikach :)
A ja bym proponował nie używać procki GetCurentDirectory, bo ona zwraca obecny katalog, ale to wcale NIE MUSI być ten z programem. Np. odpal program, włącz explorera i wejdz w jakiś inny katalog niż z programem. Procka zróci ci właśnie ten katalog a nie ten z aplikacją. Czyli twój program sam sobie zmienia ścieżkę!
Użyj ExtractFileDir(ParamStr(0)) lub ExtractFileDir(Application.ExeName). To jest pewne, że się nie zmieni w trakcie działania programu.