如何获取C:/Windows/System32目录 ( 积分: 100 )

  • 主题发起人 主题发起人 ioi2000
  • 开始时间 开始时间
I

ioi2000

Unregistered / Unconfirmed
GUEST, unregistred user!
GetSystemDirectory只能获取C:/Windows/System目录<br>如何获取C:/Windows/System32
 
GetSystemDirectory只能获取C:/Windows/System目录<br>如何获取C:/Windows/System32
 
GetSystemDirectory
 
你可以GetWindowsDirectory,然后想要system就+'/system' 想要system32就+'/system32'不就行了?
 
GetEnvironmentVariable('SystemRoot')+'/System32';
 
toysun正解<br>可以在cmd下用set查看环境变量<br>都可以用GetEnvironmentVariable来获得
 
这个问题我最清楚,不过要给分先再给你源代码!<br>其实有一个未公开的API可以做到获取系统所有的系统目录的(共15-16个)!给分后我再说,因以前总是说后也得不到分!
 
关于你说的只能获得C:/Windows/System,我不认同,在98下是这样的,我在2000和XP下都可以得到C:/Windows/System32。<br>我用到的函数:<br>//系统目录<br>function GetSystemDir: string;<br>var<br> &nbsp;Buf: array[0..MAX_PATH] of char;<br>begin<br> &nbsp;GetSystemDirectory(Buf, MAX_PATH);<br> &nbsp;Result := Buf;<br> &nbsp;if Result[Length(Result)] &lt;&gt; '/' then<br> &nbsp; &nbsp;Result := Result + '/';<br>end;<br><br>//临时目录<br>function GetTempDir: string;<br>var<br> &nbsp;Buffer: array[0..MAX_PATH] of Char;<br>begin<br> &nbsp;ZeroMemory(@Buffer, MAX_PATH);<br> &nbsp;GetTempPath(MAX_PATH, Buffer);<br> &nbsp;Result := StrPas(Buffer);<br>end;<br><br>如果想获得其他的特殊文件夹,可以看我的笔记:<br>http://www.delphibbs.com/keylife/iblog_show.asp?xid=13422
 
朋友,我都说要用那个未公开的API才可能实现的,你用的“GetSystemDirectory”只能在“2000”以上的系统才得到SYSTEM32,但如果在98,ME的系统上得到的却是SYSTEM!
 
楼主说了“GetSystemDirectory只能获取C:/Windows/System目录”这就说明他用的系统是WINDOWS ME 或 WINDOWS 98!<br><br>在 WINDOWS ME 或 WINDOWS 98, 这个是——&gt;System 目录<br>WINDOWS ME 以上的, SYSTEM32 才是系统目录!
 
那个未公开的API很好用的,给分吧,给了再就给你听!<br>它可以获取十几个系统的重要目录,用指定常里来获取指定目录,很好用!很好用!很好用!
 
var<br> &nbsp;MySysPath:pchar;<br>begin<br> &nbsp;getmem(MySysPath,255);<br> &nbsp;getsystemdirectory(Mysyspath,255);<br> &nbsp;edit1.Text:=mysyspath;<br>end;
 
Function GetWinSysDir: String;<br>Var<br> &nbsp;TheDir: Array[0..MAX_PATH] Of Char;<br>Begin<br> &nbsp;ZeroMemory(@TheDir, MAX_PATH + 1);<br> &nbsp;GetWindowsDirectory(TheDir, MAX_PATH);<br> &nbsp;Result := TheDir;<br>End;
 
后退
顶部