TC官方合作论坛

标题: 怎么发送快捷方式到桌面? [打印本页]

作者: abmin    时间: 2015-5-20 11:08
标题: 怎么发送快捷方式到桌面?
将脚本自身EXE,发送一份快捷启动方式图标 到桌面呢?

作者: 忆辰辅助    时间: 2015-5-20 14:15
  1. 功能 按钮0_点击()
  2.     桌面快捷方式("TC", "C:\\Program Files\\TC脚本开发工具\\TC.exe")
  3. 结束


  4. 功能 桌面快捷方式(名称, 指向)
  5.     变量 文件句柄 = 文件创建(系统获取系统路径(1) & 名称 & ".url","读写|共享读|共享写|总是创建")
  6.     如果(文件句柄 == 0)
  7.         返回 0
  8.     否则
  9.         文件写入一行字符(文件句柄, "[InternetShortcut]")
  10.         文件写入一行字符(文件句柄, "URL=" & 指向)
  11.         文件写入一行字符(文件句柄, "IconFile=" & 指向)
  12.         文件写入一行字符(文件句柄, "IconIndex=0")
  13.         文件关闭(文件句柄)
  14.         返回 1
  15.     结束
  16. 结束
复制代码

作者: abmin    时间: 2015-5-20 14:50
忆辰辅助 发表于 2015-5-20 14:15

不行阿 ,发送的不是程序自身的快捷方式阿,变成一个不可执行的文件。
我之前用VBS发送的快捷方式 在5X代码不管用了
4X代码给你,你试试,要的就是这种效果 ,你帮我改改好不
  1. 功能 创建快捷方式(文件源路径="",快捷方式名="",快捷方式路径="")        
  2.        如果(文件源路径=="")
  3.           文件源路径=窗口.获取路径(窗口.自身句柄())
  4.        如果结束
  5.        选择(快捷方式名)
  6.            条件 "":
  7.            len1,返回值,返回值2
  8.            字符串.分割(文件源路径,"\\",返回值)
  9.            数组空间.大小(返回值,len1)
  10.            字符串.分割(返回值[len1-1],".",返回值2)
  11.            快捷方式名=返回值2[0]
  12.            条件 "窗口标题":
  13.            快捷方式名=窗口.得到标题(窗口.自身句柄())
  14.            默认:
  15.            快捷方式名=字符串.替换(快捷方式名,".lnk","")
  16.        选择结束      
  17.        strProgram ="Sub Shortcut(filepath,lnkpath): On Error Resume Next:  set WshShell = CreateObject(\"WScript.Shell\"): "
  18.        如果(快捷方式路径=="")
  19.                 //在桌面创建快捷方式
  20.                快捷方式名=快捷方式名&".lnk"
  21.                strProgram =strProgram &"strDesktop = WshShell.SpecialFolders(\"Desktop\"): set oShellLink = WshShell.CreateShortcut(strDesktop &\"\\\"&lnkpath): "   
  22.        否则
  23.               //指定位置的快捷方式
  24.               快捷方式名=快捷方式路径&"\\"&快捷方式名&".lnk"  
  25.               strProgram =strProgram &"set oShellLink = WshShell.CreateShortcut(lnkpath): "
  26.        如果结束   
  27.        strProgram =strProgram &"oShellLink.TargetPath = filepath: oShellLink.Save: Set oShellLink = Nothing: Set WshShell = Nothing: End Sub"
  28.        sc = com("ScriptControl")
  29.        sc.language = "VBScript"
  30.        sc.addcode(strProgram)
  31.        sc.run("Shortcut",文件源路径,快捷方式名)   
  32. 功能结束
复制代码


作者: 忆辰辅助    时间: 2015-5-20 14:55
代码你测试了么?参数你自己改就行了
作者: abmin    时间: 2015-5-20 15:02
忆辰辅助 发表于 2015-5-20 14:55
代码你测试了么?参数你自己改就行了

你的代码测试过了,发送的不是程序自身的快捷方式。
我就是想 让 脚本 可以发送自己的快捷方式 到桌面,这样我就把脚本放到硬盘里,每次从桌面开启就行了。

我给你的4X代码,在4X完美测试。 在5X不行。修改成5X代码后,没有反映
作者: 忆辰辅助    时间: 2015-5-20 15:04
  1.     变量 指向 = 窗口获取路径(窗口获取自我句柄())
复制代码


自己改改不就得了么,这样就是指向自身了
作者: abmin    时间: 2015-5-20 15:09
忆辰辅助 发表于 2015-5-20 15:04
自己改改不就得了么,这样就是指向自身了

变成这样了

  1. 功能 按钮0_点击()
  2.     变量 名称="测试"
  3.     变量 文件句柄 = 文件创建(系统获取系统路径(1) & 名称 & ".url","读写|共享读|共享写|总是创建")
  4.     如果(文件句柄 == 0)
  5.         返回 0
  6.     否则
  7.         文件写入一行字符(文件句柄, "[InternetShortcut]")
  8.         文件写入一行字符(文件句柄, "URL=" & 系统获取工作路径())
  9.         文件写入一行字符(文件句柄, "IconFile=" & 系统获取工作路径())
  10.         文件写入一行字符(文件句柄, "IconIndex=0")
  11.         文件关闭(文件句柄)
  12.         返回 1
  13.     结束
  14. 结束
复制代码

作者: abmin    时间: 2015-5-20 15:18
忆辰辅助 发表于 2015-5-20 15:04
自己改改不就得了么,这样就是指向自身了

= = 而且程序图标 获取不到, 这个发送的是IE快捷方式= =
作者: 忆辰辅助    时间: 2015-5-20 15:54
abmin 发表于 2015-5-20 15:09
变成这样了

是你自己路径写的不对好不好
作者: abmin    时间: 2015-5-20 16:02
忆辰辅助 发表于 2015-5-20 15:54
是你自己路径写的不对好不好

所以能纠正一下吗 我不会写喔,唉
作者: 忆辰辅助    时间: 2015-5-20 16:09
abmin 发表于 2015-5-20 16:02
所以能纠正一下吗 我不会写喔,唉

我上面已经发过好吧,六楼
作者: alanges    时间: 2016-4-1 20:27
这个试了,可以,但是会被360查。有提示
作者: zxyzxy1919    时间: 2016-5-6 21:10
忆辰辅助 发表于 2015-5-20 14:15

谢谢,学习了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1