如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)
问题:如何用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的快速启动栏(超级任务栏)的更多相关文章
- Win7 开启显示快速启动工具栏,发送到快速启动右键菜单
开启Win7快速启动栏 许多网友一定记得在 Windows 7 之前的 Windows 系统都有个快速启动(quick launch)区域. 比如 IE 浏览器.Windows Media Playe ...
- Jenkins新建节点,启动方式没有“通过Java Web启动代理”选项怎么办?
在Jenkins中,打开“系统管理”→“管理节点”→“新建节点”页面时,“启动方式”选项没有“通过Java Web启动代理”,怎么办? 打开“系统管理”,进入“全局安全配置”页面. 1. “JNLP代 ...
- android服务之启动方式
服务有两种启动方式 通过startService方法来启动 通过bindService来开启服务 布局文件 在布局文件中我们定义了四个按键来测试这两种方式来开启服务的不同 <?xml versi ...
- 【Linux】修改CentOS7启动方式
## 查看当前系统的默认启动方式: systemctl get-default ## 查看如下文件 cat /etc/inittab 可以看到 此文件中提示了如何进行修改默认的启动方式 ## 命令行启 ...
- win7 下恢复“经典任务栏”/“快速启动栏”,关闭“窗口自动最大化” -摘自网络
1.自动放大窗口 鼠标把窗口拖到屏幕边缘时,win7会自做聪明的把窗口放大,有时候这个很烦人. 解决办法: 运行“REGEDIT”打开注册表,找到 “HKEY_CURRENT_USER\Control ...
- win8怎么打开或关闭快速启动(进入BIOS前的设置)
win8系统之后,系统添加了快速启动功能,这让Windows的启动速度快了不少.但是,任何事物有利有弊,相信不少人在进入BIOS或者重装系统时遇到了麻烦.接下来我们看看在win8及以上版本怎么打开或关 ...
- ubuntu 14.04 Clion2016.2 安装激活与安装后添加快捷启动方式
参考链接:http://www.cnblogs.com/conw/p/5938113.html 下载clion for linux : http://www.jetbrains.com/clion/d ...
- Linux添加快捷启动方式 (Ubuntu Debian CentOS)
ubuntu桌面快捷方式的创建 debian添加快捷启动方式 centos 6 桌面建立应用程序的快捷方式的方法 今天用着用着ubuntu,突然抽搐了,感觉特别别扭,特别不方便.新装的应用程序不好 ...
- 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统
本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...
随机推荐
- java 解析pdm文档
前面展示了pdm 的xml结构,既然知道了结构,用java来解析也不会太难,这就为代码自动生成奠定了基础 package com.core.reader.pdmreader.imp; import j ...
- java程序怎么在一个电脑上只启动一次,只开一个进程
目录 <linux文件锁flock> <NIO文件锁FileLock> <java程序怎么在一个电脑上只启动一次,只开一个进程> 方案1: 单进程程序可以用端口绑定 ...
- [转][Chrome]浏览器粘贴行为
<html> <head> <meta charset="UTF-8"> <title>test chrome paste imag ...
- 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法
关于UC浏览器屏蔽了广西人才网的名企.品牌.热点的logo,是因为当成广告过滤掉了,以后div的class和id不能以“ad”开头.这可能只是其中一个规则,adxxxx是可以的,不能是adXxxx, ...
- JAVA多线程创建与退出过程
Java多个线程,什么时候被创建,什么时候退出? java程序的入口是什么? java主线程main结束后,是否程序就结束了?C中的(windows,linux)main函数执行完,整个进程结束,其子 ...
- 1113 Integer Set Partition (25 分)
1113 Integer Set Partition (25 分) Given a set of N (>1) positive integers, you are supposed to pa ...
- linux下给php安装curl、gd(ubuntu)
安装方法很简单,只需要一条命令. # sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 恭喜,PHP5 cURL安装完毕.记得重启Ap ...
- javascript控制滚动条的位置,获取控件的位置
一.如下是定位鼠标在视窗中的位置,先定位视窗和页面直接的距离. function getMousePoint() { var point = {x:0,y:0}; // 如果浏览器支持 pageYOf ...
- 6.19-response(响应),session(会话技术,服务器端技术) 内置对象,application(内置对象),pageContext (内置对象),cookie(客户端技术)
一.response(响应) 页面重定向 response.sendRedirect(""); 转发: request.getRequestDispatcher("&qu ...
- Sqoop+mysql+Hive+ Ozzie数据仓库案例
mysql 数据库脚本为: /*==============================================================*/ /* DBMS name: MySQL ...