ďťż

Ładny brzuch

Witam ;)

Chcialbym dodac moja, aplikacje, do autostartu, i kopiuje wszystkie pliki do odpowiedniego katalogu itp.

Teraz, uzywam tego kodu zeby dopisac program do autostartu:

var reg : TRegistry begin  Reg := TRegistry.Create;  Reg.RootKey := HKEY_LOCAL_MACHINE;  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run\' , true);  if Reg.ValueExists(Application.ExeName) then  Reg.Free  else begin  Reg.WriteString(Application.ExeName);

No, dobrze. Wszystko idzie, dobrze itp. Ale niestety program sie nie dodaje do autostartu... :(

Co moze byc, nie tak ? - Juz probowalem, prawie wszystkiego (oczywiscie z rejestrem, bo planuje to, tak zrobic).

I niestety mi nie wychodzi. Prosze powiedziec, chodzi moze o to, ze to na moim komputerze ? - Kod jest dobry ?

Pozdrawiam.



szukajka!

Na drugi raz szukaj !
var reg : TRegistry begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run\', true); Reg.WriteString('moja app', Application.ExeName); Reg.Free;
Użytkownik lukexpert edytował ten post 30 grudzień 2005, 12:54
Przperaszam, ale tak tez probowalem... Co mam zrobic ?

Ps. Juz szukam od dwoch dni :blink:
Użytkownik Shooter edytował ten post 30 grudzień 2005, 13:00


Jak to ci nie działa? :blink:
Jakiś błąd, nie dodaje się do rejestru czy co ?!

// Do postu niżej:
Może po prostu naciśnij F5
Użytkownik lukexpert edytował ten post 30 grudzień 2005, 13:12
Poprostu sie do rejestru nie dodaje. Blad nie wyskakuje. Nie wiem, moze to cos z komputerem ? Bo jak probuje wejsc, do rejestru i dodac Value: moja aplikacja, to jest napisane ze juz taka, jest ... Ale, tam takiej nie ma !! Nawet, jak restartuje komputer, to aplikacja nie chodzi, znaczy nie uruchamia sie ponownie. Probowalem, przez Reg.DeleteValue('mojaaplikacja');

Ale nawet po tym, bylo napisane ze juz taka jest....

albo nie masz praw zapisu do MACHINE, albo sie zapisuje, tylko ty szuaksz w CURRENT_USER.

Mam, prawa do zapisu. Jestem administratorem komputera.

Sprobowalem z inna, nazwa.

Przed odpaleniem aplikacji, dalo sie dodac, manualnie. Ale jak juz odpalilem moja aplikacje, to sprobowalem dodac wpis manualnie, i bylo napisane ze juz taka jest :o

A zadnej takiej nie bylo :S

nie zeby cos ale ... testowales ten kod? bo jak dla mnie to on smierdzi troche ... spojrz chocby ...
procedure WriteString(const Name, Value: string);
a ty masz tylko jedna wartosc ... :/

No, jak jedna wartosc:

Reg.WriteString('moja app', Application.ExeName);

Dla Ciebie to jest jedna wartosc ? :o


Dla Ciebie to jest jedna wartosc ? :o

Full winapi? :Dprocedure TForm1.Button1Click(Sender: TObject); var h:hkey; cl:pchar; st, t:string; i, j:integer; begin cl:=GetCommandLine; t:=cl; st:=''; for i:=2 to length(t) do if t[i]='"' then break else st:=st+t[i]; if RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion\ Run',0,KEY_SET_VALUE,h)=0 then begin if RegSetValueEx(h,'programik',0,REG_SZ,pchar(st),length(st))<>0 then MessageBox(0,'Błąd!','',48); end else MessageBox(0,'Błąd!','',48); RegCloseKey(h); end;

Jak ci nie odpowiada kod winapi Cyrkla :P
var reg : TRegistry begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run\', true); if Reg.ValueExists('aplikacja shootera') then // sic! Reg.Free else begin Reg.WriteString('aplikacja shootera', Application.ExeName); reg.Free; end;

Twój problem tkwi w tym ze sciezka powinna byc zawarta miedzy " "
czyli kod powinien wygladac

procedure TForm1.Button1Click(Sender: TObject); var Rejestr: TRegistry; begin Rejestr := TRegistry.Create; Rejestr.RootKey := HKEY_LOCAL_MACHINE; Rejestr.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); Rejestr.WriteString('Nazwa programu', '"' + Application.ExeName + '"' ); Rejestr.CloseKey; end; end.

//codebox ! :) -m
Użytkownik migajek edytował ten post 30 grudzień 2005, 23:29

Twój problem tkwi w tym ze sciezka powinna byc zawarta miedzy " "


Mi dziala bez :huh:

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •