PDA

View Full Version : پیدا کردن مسیر ویندوز و ....



(امید)
چهارشنبه 14 اسفند 1381, 19:42 عصر
برداشت شده از 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(GetLastError));
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(GetLastError));
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(GetLastError));
end;
end;
end;
end;
except
Result := '';
raise;
end;
end;
موفق باشید


sdds

bebakhshid
دوشنبه 17 شهریور 1382, 14:43 عصر
درباره مسیر یه fileخاص چطور

مهدی کرامتی
دوشنبه 17 شهریور 1382, 15:10 عصر
آقا امید بد نیست با استفاده از این BBCode ها متن ات رو فرمت کنی ها :wink:

این دفعه من برات اینکارو کردم (تبدیل بلوک متن برنامه به حالت کد) ، اما دفعه دیگه خودت یادت نره.

v_shalchian
سه شنبه 18 شهریور 1382, 01:10 صبح
سلام
میشه لطفا بگید مسیر فایل اجرایی برنامه رو چه جوری باید پیدا کرد.
با تشکر

مهدی کرامتی
سه شنبه 18 شهریور 1382, 01:24 صبح
Var AppPath:String;
Begin
AppPath:=ExtractFilePath(Application.ExeName);