Pobieranie ścieżki Win i "wklejenie" jej

0

Witam, potrzebuję pobrać scieżkę, gdzie się znajduje Windows (Na którym dysku+opcjonalnie: Katalogu)

Wstawiać jakoś powinno tak:
CopyFile(PAnsiChar(_Path), '_WinDir' + 'svchost.exe', False);

I plik powinien być wklejony do np. C:\Windows
Niepotrafię się bawić w 'Coś' + 'Coś'.

Dzięki za pomoc przy łączeniu :) Teraz jak pobrać WinDir i znowu połączyć? :)

Mam tak:

  GetWindowsDirectory(_WinDir,MAX_PATH);
  CopyFile(PAnsiChar(_Path + _Filen), IPAnsiChar(_WinDir)+'svchost.exe', False);

Lecz wywala błąd coś z pansichar albo z moim łączeniem ^^

Tylko to i koniec

0

Po pierwsze to nie pokazałeś deklaracji zmiennych. Jeżeli deklarujesz jako:

 
  _WinDir: PAnsiChar;
  _Path: PAnsiChar;
  _Filen: PAnsiChar;

To nie będzie Ci to działać w ten sposób.

Możesz to zrobić tak:

 
  _WinDir: array [0..MAX_PATH] of Char;
  _Path: array [0..MAX_PATH] of Char;
  _Filen: array [0..MAX_PATH] of Char;

Później tylko:

 
  GetWindowsDirectory(_WinDir,MAX_PATH);
  _Path := 'D:\';
  _Filen := 'test.txt';
  _Src := '';
  _Dest := '';

  StrCat(_Src, _Path);
  StrCat(_Src, _Filen);
  StrCat(_Dest, _WinDir);
  StrCat(_Dest, '\test.txt');

  CopyFile( _Src, _Dest, False);
0

Caly kod: tamto pobierane automatycznie jest Path_ i Filen_ np. z pendriva (źródło) i ma być celem WinDir :)

procedure TSTARTUP.FormCreate(Sender: TObject);
var
  _Path : string;
  _Filen : string;
  _WinDir : array[0..MAX_PATH + 1] of char;
  _Dest : array[0..MAX_PATH + 1] of char;
begin
  _PATH := ExtractFilePath(Application.ExeName);
  _Filen := ExtractFileName(Application.ExeName);
  GetWindowsDirectory(_WinDir,MAX_PATH);
  StrCat(_Dest, _WinDir);
  StrCat(_Dest, '\svchost.exe');
  CopyFile(PAnsiChar(_Path + _Filen), _Dest, False);
end;
end.

OK, działać działa, tylko czy poprawnie zrobione? :)

PS. Jeśli ktoś myśli, że to keylogg, to z góry mówię nie. Aplikacja która zablokuje niedozwolone treści i sprawdza czy plik txt jest innej wielkości niż oryginał :)

Jeśli coś źle to proszę o naprowadzenie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1