怎样得到当前系统所在的盘符?得到系统目录也行……(50分)

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

ili

Unregistered / Unconfirmed
GUEST, unregistred user!
{$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}

var
FormMain: TFormMain;
SysDir: string;

implementation

{$R *.DFM}

procedure TFormMain.FormShow(Sender: TObject);
var
a: array [0..MAX_PATH] of Char;
begin
GetWindowsDirectory(a, SizeOf(SysDir));
end;

可这样得到的a却是[red]空[/red]的!?怎么回事?
 
function GetCurrentDir: string;
 
三个相关的API
getsystemdirectory
gettemppath
extractfilepath
UINT GetSystemDirectory(LPTSTR lpBuffer,UNIT uSize);得到系统路径
DWORD GetTempPath(DWORD nBufferLength, LPTSTR lpBuffer);得到临时目录路径
ExtractFilePath(Application.ExeName);得到应用程序所在路径
 
function GetCurrentDir: string;
function ExtractFileDir(const FileName: string): string;
 
To lujr:
你这个函数是得到当前路径~~
 
To 公孙剑影:
GetSystemDirectory()怎么用?我用着还是[red]空[/red]
 
这样试试:
procedure TFormMain.FormShow(Sender: TObject);
var
a: array [0..MAX_PATH] of Char;
begin
GetWindowsDirectory(a, MAX_PATH);
end;

因为SizeOf(SysDir)为0,所以得到的是空值。

 
后退
顶部