zoukankan      html  css  js  c++  java
  • 如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)

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


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

    而在Win7中,此方法失效。Win7中在此目录下又有了子目录,如果只是再次复制快捷方式到%appdata%MicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar下,在快速启动栏即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);

  • 相关阅读:
    Best Time to Buy and Sell Stock
    Remove Nth Node From End of List
    Unique Paths
    Swap Nodes in Pairs
    Convert Sorted Array to Binary Search Tree
    Populating Next Right Pointers in Each Node
    Maximum Subarray
    Climbing Stairs
    Unique Binary Search Trees
    Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/chenjian/p/3598251.html
Copyright © 2011-2022 走看看