PDA

View Full Version : یافتن مسیر ویندوز



ehsane
چهارشنبه 08 آذر 1385, 13:07 عصر
با سلام
مسیر نصب ویندوز را چگونه میتوان بدست آورد؟

ghabil
چهارشنبه 08 آذر 1385, 13:53 عصر
مسیر نصب ویندوز و خیلی مسیرها و اطلاعات دیگه بصورت Environment Variables در ویندوز وجود دارند در پراپرتیز My Computer > َAdvanced> Environment Variable حتی خودت هم میتونی این متغیرهارو اضافه کنی .

راه بدست آوردم این متغییرها :



function GetEnvVarValue(const VarName: string): string;
var
BufSize: Integer; // buffer size required for value
begin
// Get required buffer size (inc. terminal #0)
BufSize := GetEnvironmentVariable(PChar(VarName), nil, 0);
if BufSize > 0 then
begin
// Read env var value into result string
SetLength(Result, BufSize - 1);
GetEnvironmentVariable(PChar(VarName),
PChar(Result), BufSize);
end
else
// No such environment variable
Result := '';
end;

procedure TForm1.Button1(Sender: TObject);
begin
// متغییر Path ‏مسیر ویندوز رو میده
ShowMessage(GetEnvVarValue('Path'));
end;

shobair
چهارشنبه 08 آذر 1385, 14:02 عصر
با سلام
مسیر نصب ویندوز را چگونه میتوان بدست آورد؟
سلام
از کد زیر استفاده کنید:



procedure TForm1.Button1Click(Sender: TObject);
var x:pchar;
wpath:string;
begin
getmem(x,MAX_PATH);
GetWindowsDirectory(x, MAX_PATH);
wpath:=IncludeTrailingBackslash(x);
FreeMem(x, MAX_PATH);
showmessage(wpath);
end;

شبیر

MNosouhi
چهارشنبه 08 آذر 1385, 15:03 عصر
این هم با همون روشی که آقای کوشای عزیز گفتن با یه کم تغییر و تفکیک برای مشاهده نتیجه بهتر ، جالبه ، امتحانش کنید:



procedure TForm1.Button1Click(Sender: TObject);
var
Env : PChar;
begin
Env := GetEnvironmentStrings;
With ListBox1 do begin
While Env^ <> #0 do begin
Items.Add(StrPas(Env));
Inc(Env,StrLen(Env)+1);
end;
end;
end;

babak869
چهارشنبه 08 آذر 1385, 22:35 عصر
از این نمونه هم میتونید استفاده کنید :


var
MyWin: array[0..255] of Char;
const
Size: Integer = MAX_PATH;
begin
GetWindowsDirectory(MyWin, Size);
Edit1.Text:=MyWin;

موفق باشید