如何操作操作系统[程序]中菜单? 我想在程序中加一段代码,以自动将自己的目标程序加到操作系统的菜单上。如[程序]-[启动]下建一子菜单请教了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (*//标题:创建快捷方式;获取系统文件或系统目录说明:参考Kingron资料中“如何取得某些特殊文件夹路径”设计:Zswang日期:2002-01-25支持:[email protected]//*)///////Begin Sourceuses ShlObj, ActiveX, ComObj;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 }function CreateShellLink(mPath: string; mWorkingDirectory: string; mFileName: WideString): Boolean; { 返回创建快捷方式是否成功 }var vShellLink: IShellLink; vPersistFile: IPersistFile; vUnKnown: IUnKnown;begin Result := True; try vUnKnown := CreateComObject(CLSID_ShellLink); vShellLink := vUnKnown as IShellLink; vPersistFile := vUnKnown as IPersistFile; vShellLink.SetPath(PChar(mPath)); vShellLink.SetWorkingDirectory(PChar(mWorkingDirectory)); vPersistFile.Save(PWChar(mFileName), False); except Result := False; end;end; { CreateShellLink }///////End Source///////Begin Demoprocedure TForm1.Button1Click(Sender: TObject);begin CreateShellLink(ParamStr(0), ExtractFilePath(ParamStr(0)), GetSpecialFolderDir(CSIDL_STARTUP) + '\' + ChangeFileExt(ExtractFileName(ParamStr(0)), '.lnk'));end;///////End Demo 咋么说呢 总之是权限的问题。。。delphi提升权限 EXIT 请教关于DNS服务器开发的问题 Delphi 编译问题 [200分]兄弟们,帮帮忙吧。在html中想打印表格,我想用OCX,我想问网上有免费下载吗? 请问用Wise9.01怎样把Access数据库打包在一起? Delphi安装光盘的第二张如何用的? 如何使用SQL复制追加表内原有的数据,也就是说先选择一部份符合条件的记录然后再将这些记录插回表中 在fastreport中如何自定义纸张大小呀?? 当我采用ADO连接ORACLE数据库后...... 打包后出现下列提示,是什么原因? 大家开发三层,用什么数据库。我正为数据库着急?
标题:创建快捷方式;获取系统文件或系统目录
说明:参考Kingron资料中“如何取得某些特殊文件夹路径”
设计:Zswang
日期:2002-01-25
支持:[email protected]
//*)///////Begin Source
uses
ShlObj, ActiveX, ComObj;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 }function CreateShellLink(mPath: string; mWorkingDirectory: string;
mFileName: WideString): Boolean; { 返回创建快捷方式是否成功 }
var
vShellLink: IShellLink;
vPersistFile: IPersistFile;
vUnKnown: IUnKnown;
begin
Result := True;
try
vUnKnown := CreateComObject(CLSID_ShellLink);
vShellLink := vUnKnown as IShellLink;
vPersistFile := vUnKnown as IPersistFile;
vShellLink.SetPath(PChar(mPath));
vShellLink.SetWorkingDirectory(PChar(mWorkingDirectory));
vPersistFile.Save(PWChar(mFileName), False);
except
Result := False;
end;
end; { CreateShellLink }
///////End Source///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateShellLink(ParamStr(0), ExtractFilePath(ParamStr(0)),
GetSpecialFolderDir(CSIDL_STARTUP) + '\' +
ChangeFileExt(ExtractFileName(ParamStr(0)), '.lnk'));
end;
///////End Demo