TC官方合作论坛

 找回密码
 立即注册
查看: 1487|回复: 4

[问题] 求一个发送快捷方式的写法

[复制链接]
发表于 2015-5-20 15:20:01 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我想发送程序自身EXE,发送一份快捷启动方式ink到桌面。
该快捷方式 还能获取到程序自身的ICO。

回复

使用道具 举报

发表于 2015-5-20 16:53:30 | 显示全部楼层
本帖最后由 a837198 于 2015-5-20 16:56 编辑

暂时先用 vbs 文件来实现 吧
调用的话   桌面快捷方式()   即可 把自己创建一个桌面快捷方式

  1. 功能 创建快捷方式(文件源路径="",快捷方式路径="",快捷方式名="")        
  2.     如果(文件源路径=="")
  3.         文件源路径=窗口获取路径(窗口获取自我句柄())
  4.     结束
  5.    
  6.     选择(快捷方式名)
  7.         条件 ""
  8.         变量 len1,返回值,返回值2
  9.         len1=字符串分割(文件源路径,"\",返回值)
  10.         字符串分割(返回值[len1-1],".",返回值2)
  11.         快捷方式名=返回值2[0]
  12.         条件 "窗口标题"
  13.         快捷方式名=窗口获取标题(窗口获取自我句柄())
  14.         默认
  15.         快捷方式名=字符串替换(快捷方式名,".lnk","")
  16.     结束
  17.    
  18.     变量 strProgram ="Sub Shortcut(filepath,lnkpath)\r\nOn Error Resume Next\r\n  set WshShell = CreateObject("WScript.Shell")\r\n "
  19.    
  20.     如果(快捷方式路径=="")
  21.         //在桌面创建快捷方式
  22.         快捷方式名=快捷方式名&".lnk"
  23.         strProgram =strProgram &"strDesktop = WshShell.SpecialFolders("Desktop")\r\n set oShellLink = WshShell.CreateShortcut(strDesktop &"\\"&lnkpath)\r\n "   
  24.     否则
  25.         //指定位置的快捷方式
  26.         快捷方式名=快捷方式路径&"\"&快捷方式名&".lnk"  
  27.         strProgram =strProgram &"set oShellLink = WshShell.CreateShortcut(lnkpath)\r\n "
  28.     结束  
  29.    
  30.     strProgram =strProgram &"oShellLink.TargetPath = filepath\r\n oShellLink.WorkingDirectory =left(filepath,InStrRev(filepath, "\\")-1)\r\n oShellLink.Save\r\n Set oShellLink = Nothing\r\n Set WshShell = Nothing\r\n End Sub"
  31.         //此处写自己的文件地址
  32.     strProgram =strProgram &"\r\n file=""&文件源路径&"""
  33.     strProgram =strProgram &"\r\n lnk=""&快捷方式名&"""   
  34.     //此处调用创建快捷方式的函数
  35.     strProgram =strProgram &"\r\n Shortcut file,lnk"   
  36. //此处调用创建vbs文件
  37.     变量 文件句柄=文件创建(获取资源路径("rc:shortcut.vbs"),"共享读|共享写|总是创建")
  38.     文件关闭(文件句柄)
  39.     文件句柄=文件覆盖内容(获取资源路径("rc:shortcut.vbs"),strProgram)
  40. //此处调用运行vbs文件
  41.     如果(文件句柄)
  42.        命令(获取资源路径("rc:shortcut.vbs"),假)
  43.     否则
  44.        消息框("创建桌面快捷方式失败","桌面快捷方式")
  45.     结束
  46. 结束
复制代码




回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-20 17:45:22 | 显示全部楼层
a837198 发表于 2015-5-20 16:53
暂时先用 vbs 文件来实现 吧
调用的话   桌面快捷方式()   即可 把自己创建一个桌面快捷方式

测试成功,感谢,只不过可以单独把rc:shortcut.vbs放到资源目录里 直接调用 不用去创建 可以不
我新手 看不懂 也不会改
回复 支持 反对

使用道具 举报

发表于 2015-5-20 18:38:41 | 显示全部楼层
本帖最后由 a837198 于 2015-5-20 18:45 编辑
abmin 发表于 2015-5-20 17:45
测试成功,感谢,只不过可以单独把rc:shortcut.vbs放到资源目录里 直接调用 不用去创建 可以不
我新手 看 ...

可以是可以  但是你需要修改内容     因为程序所放的位置不同   

操作方法以下

vbs文件内容 你这样写  保存成你想要的vbs文件  扩展名是vbs  不是txt  这个注意  
  1. Sub Shortcut(filepath,lnkpath)
  2. On Error Resume Next
  3.   set WshShell = CreateObject("WScript.Shell")
  4. strDesktop = WshShell.SpecialFolders("Desktop")
  5. set oShellLink = WshShell.CreateShortcut(strDesktop &""&lnkpath)
  6. oShellLink.TargetPath = filepath
  7. oShellLink.WorkingDirectory = InStrRev(filepath, "")-1
  8. msgbox InStrRev(filepath, "")-1
  9. oShellLink.Save
  10. Set oShellLink = Nothing
  11. Set WshShell = Nothing
  12. End Sub
复制代码


然后  下面的   filepath  lnkpath  这两个你自己写入到文件里
最后 写个调用函数  就是函数名那个
看 下面的红字部分 需要程序自己写入进去    快捷方式名记得扩展名是  .lnk

    //此处写自己的文件地址
  str文件源路径 ="\r\n file=\""&文件源路径&"\""
   str快捷方式名 ="\r\n lnk=\""&快捷方式名&"\""   
    //此处调用创建快捷方式的函数
    str函数 ="\r\n Shortcut file,lnk"   


写入进去后  就命令(该vbs地址,真)
就可以了




回复 支持 反对

使用道具 举报

发表于 2015-8-28 03:28:36 | 显示全部楼层
a837198 发表于 2015-5-20 18:38
可以是可以  但是你需要修改内容     因为程序所放的位置不同   

操作方法以下

求教,我想在快捷方式中加入运行参数,需要怎么加?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-10-2 17:03 , Processed in 0.037590 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表