[ Vladica Savić @ 04.09.2005. 09:31 ] @
Pozdrav ljudi, pre nekog vremena sam pokrenuo neke teme vezane za rad sa registrima, naravno dobio i odgovore, ali me zanima da li ja negde gresim, ili je nesto drugo u pitanju jer kad pokusam da izmenim sadrzaj nekog registra tako sto napravim program u Delphi-u koji ce da umesto na primer u HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon u delu Shell da umesto Explorer.exe ubaci moj program jednostavno nista se ne desava.

Ako nije problem neka mi neko posalje projekat >primer< za ovo
>>on ne bi trebalo da je veci od oko 50Kb do 100Kb<<

Unapred hvala i pozdrav
[ defufna @ 04.09.2005. 19:04 ] @
Kada istim kodom menjas neki manje vazan key.. na primer neki koji si sam napravio sa regeditom u Current User\Software\Mojkljuc da li se nesto desava ? ako mozes pastuj kod koji koristis
[ Vladica Savić @ 06.09.2005. 11:08 ] @
Ovo je kod koji sam dobio sa jednog prethodnog foruma koji sam postavio i koji sam iskoristio da bih uradio gore navedeno...

Code:
var
Registry: TRegistry;
begin
Registry := TRegistry.Create();
Registry.RootKey := HKEY_CURRENT_USER;
if Registry.OpenKey('\Putanja Do Kljuca\', False) then
begin
Registry.WriteString('ImeKljuca', 'C:\Moj_Program.exe');
Registry.CloseKey;
Registry.Free;
end;
end;

Ali jednostavno nesto nece da mi stima tu...

Neka mi neko objasni sta tacno da ubacim umesto ovog da bi program mogao da radi uspesno...

A da koristio sam i ovo ali nece da stima

Code:
uses
Windows;

var
hndKey : HKEY;
tmp : String;
begin
If RegOpenKeyEx(HKEY_LOCAL_MACHINE,
'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',
0,
KEY_ALL_ACCESS,
hndKey) = ERROR_SUCCESS Then
Begin
tmp := '"C:\putanja_do_novog_shella.exe"';

RegSetValueEx(hndKey,
'Shell',
0,
REG_SZ,
PAnsiChar(tmp),
Length(tmp));
RegCloseKey(hndKey);
End;
end;

Pomagajte...




[ reiser @ 06.09.2005. 15:49 ] @
Ne razumem sta nece da ti stima.

Code:

uses
Windows;

var
hndKey : HKEY;
tmp : String;
begin
If RegOpenKeyEx(HKEY_LOCAL_MACHINE,
'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',
0,
KEY_ALL_ACCESS,
hndKey) = ERROR_SUCCESS Then
Begin
tmp := '"C:\putanja_do_novog_shella.exe"';

RegSetValueEx(hndKey,
'Shell',
0,
REG_SZ,
PAnsiChar(tmp),
Length(tmp));
RegCloseKey(hndKey);
End;
end;


Ovaj kod radi (znam jer sam ga ja napisao :)). Samo je pitanje gde ti hoces da "ubacis". Ako hoces recimo na OnClick event za neki TButton, onda postavi dugme na formu, dupli klik na njega i samo paste ovaj kod:

Code:

var
  hndKey : HKEY;
  tmp    : String;
begin
  If RegOpenKeyEx(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', 0, KEY_ALL_ACCESS, hndKey) = ERROR_SUCCESS Then
  Begin
    tmp := '"C:\putanja_do_novog_shella.exe"';

    RegSetValueEx(hndKey, 'Shell', 0, REG_SZ, PAnsiChar(tmp), Length(tmp));
    RegCloseKey(hndKey);
  End;


Ako ovo ne radi, verovatno nemas dovoljne privilegije za pristup registry bazi. Ili koristis neki od 9x sistema.
[ Vladica Savić @ 07.09.2005. 05:59 ] @
Sve je OK sad

Imao sam problema sa pristupom registar bazi zbog nekog glupog Tweaking programa, ali kao sto sam rekao sad sve radi...

Hvala na pomoci...

[Ovu poruku je menjao VladaLe dana 07.09.2005. u 07:00 GMT+1]