如何得到系统目录?如:win98 为c:\windows\system,win2000为d:\winnt\system32?
解决方案 »
- Adoquery中这样的sql.text 能执行吗??!
- SockerConnection和DComConnection
- 关于数据库多线程查询、返回多结果集
- 刚问过的问题,有点怪,但简单。
- 如何实现让一个Edit只允许输入数字?
- 高手指点,导入DLL文件中的变量?在线等待!急
- 十万火急!!!
- SQL语句提示"参数不足,期待是1"的问题?
- 谁知道DELPHI的数据库为什么总出问题。(存图片用什么类型的字段)存到二三十MB就出问题,是不是它有一定的量就不能存了。
- 求助!!送分贴....单击当前窗口任务栏图标所触发的事件的问题....
- 为什么我在用BDE Administrator连接ACCESS数据库时,我都无给ACCESS加密码,系统却提示我输入用户名密码?
- 如何在程序中执行sql脚本
GetSystemDirectory
szDir: array [0..255] of char;
begin
GetSystemDirectory(szDir, 255);
vSysDir:String;
begin
SetLength(vSysDir,144);
if GetSystemDirectory(PChar(vSysDir),144)<>0 then
begin
SetLength(vSysDir,StrLen(PChar(vSysDir)));
ShowMessage(vSysDir);
end
else
RaiseLastWin32Error;
end;
UINT uSize // size of directory buffer
);
我试了还是不行,是不是我的调用有问题:Function GetSystemDirectory(lpBuffer: string; nSize :integer):integer; far ;external 'kernel32.dll' ;
temp :array[0..100] of char;
begin
GetSystemDirectory(temp,255);
edit1.Text:=temp;
end;
{ 返回获取系统文件或系统目录 }
(*
CSIDL_BITBUCKET * 回收站
CSIDL_CONTROLS * 控制面板
CSIDL_DESKTOP * 桌面
CSIDL_DESKTOPDIRECTORY 桌面目录 //如C:
CSIDL_DRIVES * 我的电脑
CSIDL_FONTS 字体 //如C:
CSIDL_NETHOOD 网上邻居目录 //如C:
CSIDL_NETWORK * 网上邻居
CSIDL_PERSONAL 我的文档 //如C:Documents
CSIDL_PRINTERS * 打印机
CSIDL_PROGRAMS 程序组 //如C:Menu
CSIDL_RECENT 最近文档 //如C:
CSIDL_SENDTO 发送到 //如C:
CSIDL_STARTMENU 开始菜单 //如C:Menu
CSIDL_STARTUP 启动 //如C:\u21551启动
CSIDL_TEMPLATES 模版 //如C:
*)
var
vItemIDList: PItemIDList;
vBuffer: array[0..MAX_PATH] of Char;
begin
SHGetSpecialFolderLocation(0, mFolder, vItemIDList);
SHGetPathFromIDList(vItemIDList, vBuffer); //转换成文件系统的路径
Result := vBuffer;
end;