برداشت شده از barnamenevis.com

ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــ

با سلام

من میخواهم اول مسیری که ویندوز در آن نصب شده را پیدا کنم

و بعد یک سری فایل را در هر زیر شاخه و یا همان شاخه ویندوز کپی کنم به طوری که فیلهای قبلی راRepLase کند و فایلهای جدید ما را کپی کند

راه چاره چیست؟؟؟؟؟؟؟؟؟؟؟

متشکر می شوم آگه جواب مشکل من رو بدهید

ما چاکر همه برو بچ دلفی کار هستیم


علی اکبر صادقی


-----(از MRLESANI)------

با سلام

این سورس مسیر شاخه ویندوز رو میده


  function GetWindowsDir: TFileName; 
var
WinDir: array [0..MAX_PATH-1] of char;
begin
SetString(Result, WinDir, GetWindowsDirectory(WinDir, MAX_PATH));
if Result = '' then
raise Exception.Create(SysErrorMessage(GetLastEr ror));
end;


این مسیر شاخه سیستم در شاخه ویندوز

function GetSystemDir: TFileName; 
var
SysDir: array [0..MAX_PATH-1] of char;
begin
SetString(Result, SysDir, GetSystemDirectory(SysDir, MAX_PATH));
if Result = '' then
raise Exception.Create(SysErrorMessage(GetLastEr ror));
end;

مسیر شاخه Program Files

function GetProgramFilesDir: TFileName; 
begin
Result := GetRegistryData(HKEY_LOCAL_MACHINE,
'\Software\Microsoft\Windows\CurrentVersion',
'ProgramFilesDir'); // or 'ProgramFilesPath'
end;



مسیر شاخه Temp

  function GetTempDir: TFileName; 
var
TmpDir: array [0..MAX_PATH-1] of char;
begin
try
SetString(Result, TmpDir, GetTempPath(MAX_PATH, TmpDir));
if not DirectoryExists(Result) then
if not CreateDirectory(PChar(Result), nil) then begin
Result := IncludeTrailingBackslash(GetWindowsDir) + 'TEMP';
if not DirectoryExists(Result) then
if not CreateDirectory(Pointer(Result), nil) then begin
Result := ExtractFileDrive(Result) + '\TEMP';
if not DirectoryExists(Result) then
if not CreateDirectory(Pointer(Result), nil) then begin
Result := ExtractFileDrive(Result) + '\TMP';
if not DirectoryExists(Result) then
if not CreateDirectory(Pointer(Result), nil) then begin
raise Exception.Create(SysErrorMessage(GetLastEr ror));
end;
end;
end;
end;
except
Result := '';
raise;
end;
end;

موفق باشید


sdds