首页
社区
课程
招聘
[求助]桌面右键菜单图标
发表于: 2012-4-17 11:47 7903

[求助]桌面右键菜单图标

2012-4-17 11:47
7903
桌面右键菜单中的“发送到”选项,中的菜单图标是怎么获取到的?
如图:

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 80
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么没人回复。。
2012-4-17 13:00
0
雪    币: 89
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
什么获取图标
说详细点
2012-4-17 13:04
0
雪    币: 5047
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
http://bbs.pediy.com/showthread.php?t=143858
这个帖子里有讲到

然后把这个快捷方式放到C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo这个文件夹下面,其实那里面已经有几个系统默认的,比如什么传真啊,桌面快捷方式啊,压缩文件啊之类的。没用的东西果断删掉,比如传真,你会用到吗?这个路径是win7下面的,xp的路径自己百度,我也不知道相不相同。要找到这个文件夹你首先得把隐藏文件的选项关掉,这个不至于不知道吧?
2012-4-17 13:06
0
雪    币: 80
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
就是把程序的图标提取出来添加到右键菜单的选项上,就像SendTo做的那样。
2012-4-17 13:20
0
雪    币: 80
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我没有说明白,我指的是用编程的方法。
2012-4-17 13:21
0
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
7
编程模拟手动复制快捷方式到sendto就行了吧
2012-4-17 15:14
0
雪    币: 183
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
也可以从注册表入手 run 打开方式里面就可以添加进去

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\CFF Explorer]

[HKEY_CLASSES_ROOT\exefile\shell\CFF Explorer\Command]
@="D:\\Program Files\\Crack Tools\\辅助工具\\CFF Explorer\\CFF Explorer.exe %1"

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\dllfile\shell]

[HKEY_CLASSES_ROOT\dllfile\shell\CFF Explorer]

[HKEY_CLASSES_ROOT\dllfile\shell\CFF Explorer\Command]
@="D:\\Program Files\\Crack Tools\\辅助工具\\CFF Explorer\\CFF Explorer.exe %1"

[HKEY_CLASSES_ROOT\dllfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\dllfile\shell\open\command]
@="\"%1\" %*"

不知道楼主是否能看懂,大概思路就是这样的
2012-4-17 16:52
0
雪    币: 89
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
MSDN   的例子,创建快捷方式并改变图标
 /*PARAMETERS 
      fname_to_create_link     =   (e.g.)   "c:\\mytextfile.txt " 
      lnk_fname   =   (e.g.)   "yourname.lnk " 
      */   

      void   CreateLinkThenChangeIcon(LPTSTR   fname_to_create_link, 
                                                                  LPTSTR   lnk_fname) 
      { 
      HRESULT   hres; 
      IShellLink   *psl   =   NULL; 
      IPersistFile   *pPf   =   NULL; 
      WORD   wsz[256]; 
      TCHAR   buf[256]; 
      int   id; 
      LPITEMIDLIST   pidl; 

      hres   =   CoCreateInstance(     CLSID_ShellLink, 

                                                      NULL, 
                                                      CLSCTX_INPROC_SERVER, 
                                                      IID_IShellLink, 
                                                      (LPVOID*)&psl); 
      if(FAILED(hres)) 
            goto   cleanup; 
      hres   =   psl-> QueryInterface(IID_IPersistFile,   (LPVOID*)&pPf); 
      if(FAILED(hres)) 
            goto   cleanup; 
      hres   =   psl-> SetPath(fname_to_create_link); 
      if(FAILED(hres)) 

            goto   cleanup; 
      //place   the   shortcut   on   the   desktop 
      SHGetSpecialFolderLocation(hwnd,   CSIDL_DESKTOP,   > pidl); 

      SHGetPathFromIDList(pidl,   buf); 

      lstrcat(buf, "\\ "); 
      lstrcat(buf,lnk_fname); 

      MultiByteToWideChar(CP_ACP,   0,   buf,   -1,   wsz,   MAX_PATH); 

      hres   =   pPf-> Save(wsz,   TRUE); 

      if(FAILED(hres)) 

            goto   cleanup; 

      GetSystemDirectory(buf,   256); 

      lstrcat(buf, "\\shell32.dll "); 

      hres   =   psl-> SetIconLocation(buf,   1); 

      if(FAILED(hres)) 

            goto   cleanup; 

      hres   =   psl-> GetIconLocation(buf,   256,   &id); 

      if(FAILED(hres)) 

            goto   cleanup; 

      pPf-&Save(wsz,   TRUE); 

      cleanup: 

      if(pPf) 

            pPf-> Release(); 

      if(psl) 

            psl-> Release(); 

      }   
2012-4-17 23:26
0
游客
登录 | 注册 方可回帖
返回
//