var
s : string;
begin
SetLength(s,255);
GetWindowDirectory(Pchar(s),255);
SetLength(s,StrLen(Pchar(s)));
end;
s : string;
begin
SetLength(s,255);
GetWindowDirectory(Pchar(s),255);
SetLength(s,StrLen(Pchar(s)));
end;
解决方案 »
- 如何让GDI画出来的线在最顶层呀
- 怎样才能实现更好的效果,移动的时候应该不要出现闪屏,转弯的时候不要出现太大的时间落差?
- 界面上移动鼠标时,能不能捕捉到一个点一个点的移动事件。用OnMouseMove事件有时可以精确到一个象素,移动较快时就不行了
- delphi中怎么表示?号啊
- 熟悉Oracle中CLOB类型的同志请进!
- DBGrid中显示数据小数点的对齐
- 请教一个调用C++生成的DLL函数时遇到的问题!
- 在DBGrid中录入数据,如何检验数据?
- 大家进来帮忙看看,谢谢各位了。运算器 (((3+5)/2-6)×5)^5
- Delphi XE4出来了!这里有地址!
- 我又来简单的问题了送分了:关于delphi的字体问题
- 请问做三层时,可不可以直接从中间层返回ado的recordset对象?
s : string;
begin
SetLength(s,255);
GetWindowDirectory(Pchar(s),255);
SetLength(s,StrLen(Pchar(s)));
end;program files路径是固定的
uses
ShlObj;function GetSpecialFolderDir(mFolder: Integer): string;
{ 返回获取系统文件或系统目录 }
(*
CSIDL_BITBUCKET * 回收站
CSIDL_CONTROLS * 控制面板
CSIDL_DESKTOP * 桌面
CSIDL_DESKTOPDIRECTORY 桌面目录 //如C:\WINDOWS\Desktop
CSIDL_DRIVES * 我的电脑
CSIDL_FONTS 字体 //如C:\WINDOWS\FONTS
CSIDL_NETHOOD 网上邻居目录 //如C:\WINDOWS\NetHood
CSIDL_NETWORK * 网上邻居
CSIDL_PERSONAL 我的文档 //如C:\My Documents
CSIDL_PRINTERS * 打印机
CSIDL_PROGRAMS 程序组 //如C:\WINDOWS\Start Menu\Programs
CSIDL_RECENT 最近文档 //如C:\WINDOWS\Recent
CSIDL_SENDTO 发送到 //如C:\WINDOWS\SentTo
CSIDL_STARTMENU 开始菜单 //如C:\WINDOWS\Start Menu
CSIDL_STARTUP 启动 //如C:\WINDOWS\启动
CSIDL_TEMPLATES 模版 //如C:\WINDOWS\ShellNew
*)
var
vItemIDList: PItemIDList;
vBuffer: array[0..MAX_PATH] of Char;
begin
SHGetSpecialFolderLocation(0, mFolder, vItemIDList);
SHGetPathFromIDList(vItemIDList, vBuffer); //转换成文件系统的路径
Result := vBuffer;
end; { GetSpecialFolderDir }
///////End Source///////Begin Demo
procedure TForm1.FormShow(Sender: TObject);
begin
Caption := GetSpecialFolderDir(CSIDL_DESKTOP);
end;
///////End Demo
有很多系统信息。如systemroot,programfilesdir........