zoukankan      html  css  js  c++  java
  • 操作 Windows7 任务栏的快捷方式

    目前已经有了可以直接调用的方法。通过 ShellExecute 的 taskbarpin 动词直接实现,如:

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

    Windows 7 发布已经有段时间了,今天的话题正是针对于此——占领 Windows7 的任务栏,将应用程序 pin 到任务栏上,或者 unpin 之。
    具体的方法我在网上也搜到一些,不过在逆向了某程序之后,发现还是它做的优雅一些,于是这里介绍的就是这种方法。需要说明的是,由于各种原因所限,我不能给出源代码。在这里我只给个大概的步骤,相信看懂还是不成问题的。如有不明白的,请自行根据关键字查阅 MSDN 文档。

      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 到任务栏上了。
  • 相关阅读:
    【洛谷P3649】回文串
    【CH2401】送礼物
    Python 函数
    Python 文件操作
    JS的DOM和BOM
    JavaScript (内置对象及方法)
    JavaScript 基础(数据类型、函数、流程控制、对象)
    Python基础数据类型(数字、字符串、布尔、列表、元组、字典、集合等)
    MySQL(二)
    数据备份 及 Python 操作 Mysql
  • 原文地址:https://www.cnblogs.com/lizs/p/4013604.html
Copyright © 2011-2022 走看看