Foxtable(狐表)用户栏目专家坐堂 → [求助]如何判断快捷方式的目标类型是文件夹还是应用程序


  共有2837人关注过本帖树形打印复制链接

主题:[求助]如何判断快捷方式的目标类型是文件夹还是应用程序

帅哥哟,离线,有人找我吗?
lzzhx
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
[求助]如何判断快捷方式的目标类型是文件夹还是应用程序  发帖心情 Post By:2017/10/5 12:03:00 [只看该作者]

请教老师:

如何判断快捷方式的目标类型是文件夹还是应用程序

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113802 积分:579589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/5 14:21:00 [只看该作者]

参考:http://www.cnblogs.com/yeaicc/archive/2012/05/12/operateshortcut.html

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:interop.iwshruntimelibrary.zip


复制附件dll到Foxtable安装目录,添加引用:http://www.foxtable.com/webhelp/scr/1936.htm

测试下面代码,看效果

Dim Shell As New IWshRuntimeLibrary.WshShellClass()
Dim shortcut = CType(Shell.CreateShortcut("C:\foxtable\Business.lnk"), IWshRuntimeLibrary.IWshShortcut) '文件夹
Output.Show(shortcut.TargetPath)
Output.Show(shortcut.FullName)
Output.Show("WorkingDirectory=" & shortcut.WorkingDirectory)

shortcut = CType(Shell.CreateShortcut("C:\foxtable\foxtable.exe.lnk"), IWshRuntimeLibrary.IWshShortcut) '文件
Output.Show(shortcut.TargetPath)
Output.Show(shortcut.FullName)
Output.Show("WorkingDirectory=" & shortcut.WorkingDirectory)

 回到顶部
帅哥哟,离线,有人找我吗?
lzzhx
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/10/9 14:24:00 [只看该作者]

老师:没有看出来如何判断快捷方式的目标类型是文件夹还是应用程序,两段代码是一样的,请老师解答一下

 回到顶部
帅哥哟,离线,有人找我吗?
lzzhx
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/10/9 14:30:00 [只看该作者]

搞清楚了,谢谢老师

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 14:33:00 [只看该作者]

判读 TargetPath 的值即可,如果是 .exe 结束的,肯定是文件,如果没有后缀名的,肯定是文件夹

 

红色的是你快捷方式的路径

 

Dim Shell As New IWshRuntimeLibrary.WshShellClass()
Dim shortcut = Shell.CreateShortcut("C:\Users\Public\Desktop\Foxtable 2017 开发版.lnk")
Output.Show(shortcut.TargetPath)

 


 回到顶部