在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中
来源:互联网 发布:java特种兵 豆瓣 编辑:程序博客网 时间:2024/05/04 20:27
来源: http://blog.csdn.net/myzerg/archive/2004/08/24/83329.aspx
前几天应客户要求写这个东西,其实用VB,VC可能更快些,不过,我还是喜欢用DELPHI
首先 uses ActiveX,ComObj,StdCtrls,ShlObj,FileCtrl;
在指定文件夹建立当前应用程序才的快捷方式
procedure Tform1.MakeLink(Foldername:string;proName, lnkName, Description: string);
var
WorkDir, DestName: string;
aObj: IUnknown;
MyLink: IShellLink;
MyPFile: IPersistFile;
WFileName: WideString;
curdir: array[0..100] of Char;
begin
DestName := Foldername + lnkName;
aObj := CreateComObject(CLSID_ShellLink);
MyLink := aObj as IShellLink;
MyPFile := aObj as IPersistFile;
GetCurrentDirectory(sizeof(curdir), curdir);
workdir := curdir;
proname := trim(WorkDir)+'/'+proname;
with MyLink do
begin
SetShowCmd(SW_NORMAL);
SetArguments('');
SetDescription(pChar(Description));
SetPath(pChar(proName));
SetWorkingDirectory(pChar(WorkDir));
end;
CreateDir(ExtractFilePath(DestName));
WFileName := DestName;
MyPFile.Save(PWChar(WFileName), False);
end;
//获得开始->程序->的启动组 的路径
function Tform1.GetSpecialFolder: string;//get starup Floder
var
Pidl: PItemIDList;
handle : THandle;
Comp: TComponent;
LinkDir : string;
begin
result:='';
Comp := self;//self.owner;
handle := (Comp as TForm).handle;
if SUCCEEDED(SHGetSpecialFolderLocation(handle, CSIDL_COMMON_STARTUP, Pidl)) then //别的特殊路径也可以用CSIDL_COMMON或的,在delphi中查一下就可以了
begin
SetLength(LinkDir, MAX_PATH);
SHGetPathFromIDList(Pidl, PChar(LinkDir));
SetLength(LinkDir, StrLen(PChar(LinkDir)));
result:=linkdir+'/';
end;
end;
//部分内容借鉴了大富翁bbs上的内容
- 在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中
- 在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中
- delphi中建立快捷方式的函数
- 在Delphi中操作快捷方式
- 如何在程序中创建快捷方式?
- 如何在程序中创建快捷方式
- 在WINXP 2003中建立快捷方式的jar文件
- 如何在文件夹中建立网页的快捷方式
- 在Ubuntu里创建程序的快捷方式
- Ubuntu中增加程序快捷方式的方法
- 在ubuntu中建立eclipse桌面快捷方式
- 在Linux操作系统中,eclipse建立快捷方式
- 在WinCE中创建自己的快捷方式
- 在WinCE中创建自己的快捷方式
- 在WinCE中创建自己的快捷方式
- 在WinCE中创建自己的快捷方式
- 在Android中修改快捷方式的图标
- ubuntu 创建程序启动的快捷方式
- 《潜流》:第一本对狭隘民族主义进行全面批判的书
- 关于JDK1.4增加的assert语句
- 趣谈Java版本名称
- Java的秘密:将应用程序的设定存在哪里?
- 免费的开放源代码数据库 PostgreSQL 8.0 试用版发布!
- 在delphi中建立程序的快捷方式--并将快捷方式放在开始->程序->的启动组中
- 思想是成功之因
- 第一次接受跨国大公司电话面试
- Why can't I have a shorter username?
- How do I invite others to join Gmail?
- 中国人的成功十要(台湾成功学大师:曾仕强)
- “符号化”的效用和缺失
- "网络编程"学习笔记(5)
- macromedia官方的 Flash Lite 的 faq