问题:如何用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的快速启动栏(超级任务栏)的更多相关文章

  1. Win7 开启显示快速启动工具栏,发送到快速启动右键菜单

    开启Win7快速启动栏 许多网友一定记得在 Windows 7 之前的 Windows 系统都有个快速启动(quick launch)区域. 比如 IE 浏览器.Windows Media Playe ...

  2. Jenkins新建节点,启动方式没有“通过Java Web启动代理”选项怎么办?

    在Jenkins中,打开“系统管理”→“管理节点”→“新建节点”页面时,“启动方式”选项没有“通过Java Web启动代理”,怎么办? 打开“系统管理”,进入“全局安全配置”页面. 1. “JNLP代 ...

  3. android服务之启动方式

    服务有两种启动方式 通过startService方法来启动 通过bindService来开启服务 布局文件 在布局文件中我们定义了四个按键来测试这两种方式来开启服务的不同 <?xml versi ...

  4. 【Linux】修改CentOS7启动方式

    ## 查看当前系统的默认启动方式: systemctl get-default ## 查看如下文件 cat /etc/inittab 可以看到 此文件中提示了如何进行修改默认的启动方式 ## 命令行启 ...

  5. win7 下恢复“经典任务栏”/“快速启动栏”,关闭“窗口自动最大化” -摘自网络

    1.自动放大窗口 鼠标把窗口拖到屏幕边缘时,win7会自做聪明的把窗口放大,有时候这个很烦人. 解决办法: 运行“REGEDIT”打开注册表,找到 “HKEY_CURRENT_USER\Control ...

  6. win8怎么打开或关闭快速启动(进入BIOS前的设置)

    win8系统之后,系统添加了快速启动功能,这让Windows的启动速度快了不少.但是,任何事物有利有弊,相信不少人在进入BIOS或者重装系统时遇到了麻烦.接下来我们看看在win8及以上版本怎么打开或关 ...

  7. ubuntu 14.04 Clion2016.2 安装激活与安装后添加快捷启动方式

    参考链接:http://www.cnblogs.com/conw/p/5938113.html 下载clion for linux : http://www.jetbrains.com/clion/d ...

  8. Linux添加快捷启动方式 (Ubuntu Debian CentOS)

    ubuntu桌面快捷方式的创建 debian添加快捷启动方式 centos 6 桌面建立应用程序的快捷方式的方法   今天用着用着ubuntu,突然抽搐了,感觉特别别扭,特别不方便.新装的应用程序不好 ...

  9. 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统

    本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...

随机推荐

  1. bzoj1196 公路修建问题

    Description OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织 ...

  2. css transition transform animation例子讲解

    1.transition属性: transition属性是一个速记属性有四个属性:transition-property , transition-duration, transition-timin ...

  3. 学习笔记之XML

    什么是QName - Benjieming_Wang的专栏 - CSDN博客 http://blog.csdn.net/Benjieming_Wang/article/details/5959961 ...

  4. Js/jquery获取当前日期时间及其它操作

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  5. 新生代老年代GC组合

    新生代通常存活时间较短,因此基于Copying算法来进行回收,所谓Copying算法就是扫描出存活的对象,并复制到一块新的完全未使用的空间中 在执行机制上JVM提供了串行GC(SerialGC).并行 ...

  6. centos svn 的搭建

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库(repository) 中. ...

  7. html_常用技巧总结

    =============  博客大全: 脚本之家:http://www.jb51.net/list/list_233_104.htm 红黑联盟: http://www.2cto.com/kf/yid ...

  8. git 隐藏文件删除

    1.首先切换到当前目录 cd /Users/wlm/Desktop/XXX/XXX 2.执行下面的命令: defaults write com.apple.finder AppleShowAllFil ...

  9. python的分支循环

    知识内容: 1.if-else分支结构 2.while循环 3.for循环 4.循环结构综述 5.break和continue语句 一.if-else分支结构 1.单分支选择结构 if 表达式: 语句 ...

  10. os模块和sys模块,以及random模块

    os模块 os模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工 ...