首页 > Windows开发 > 详细

如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)

时间:2014-03-14 19:10:46      阅读:1689      评论:0      收藏:0      [点我收藏+]

问题:如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏) 


在XP下,添加方式是直接把快捷方式复制到%appdata%\Microsoft\Internet Explorer\Quick Launch目录中:
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{cm:AppName}"; Filename: "{app}\xxx.exe";

 

而在Win7中,此方法失效。Win7中在此目录下又有了子目录,如果只是再次复制快捷方式到%appdata%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar下,在快速启动栏即win7的超级任务栏中仍没有出现,所以XP的直接复制方式没有生效。因为在Win7中复制后,是默认不显示的(这点尚未作验证)。

引用地址:http://www.dreams8.com/thread-9243-1-1.html

 

在VC程序中,要锁定win7超级任务栏,有两种方式:
一:
1. 查阅 shell32.dll 的字符串资源,找到 pin 和 unpin 命令字符串的 id,记下以便以后使用;
2. 创建一个 IShellDispatch 接口;
3. 经由 IShellDispatch 接口获得应用程序所在路径对应的 Folder 接口指针;
4. 经由 Folder 接口获得应用程序文件名对应的 FolderItem 接口指针;
5. 经由 FolderItem 接口获取 FolderItemVerbs 接口指针;
6. 枚举 FolderItemVerbs 接口对应的动词集,获取每个动词的名称;根据第 1 步记下的字符串 id   获取字符串资源,与动词名称比对,直到找到对应的 FolderItemVerb 接口指针;
7. 调用 FolderItemVerb::DoIt 方法,应用程序便会被 pin 或 unpin 到任务栏上了。

二:
ShellExecute(NULL, _T("taskbarpin"),_T("C:\\Users\\titilima\\Desktop\\Test.lnk"),NULL, NULL, SW_SHOWNORMAL);

引用网址:http://blog.titilima.com/win7-pin.html

 

参考程序中的第二种实现方法,在inno中的实现:
锁定任务栏
ShellExec(‘taskbarpin‘, ‘C:\\Users\\UserName\\Desktop\\test.lnk‘, ‘‘, ‘‘, SW_SHOWNORMAL, ewNoWait,nErrCode);
解锁任务栏
ShellExec(‘taskbarunpin‘, ‘C:\\Users\\UserName\\Desktop\\test.lnk‘, ‘‘, ‘‘, SW_SHOWNORMAL, ewNoWait,nErrCode);

如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏),布布扣,bubuko.com

如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)

原文:http://www.cnblogs.com/chenjian/p/3598251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!