Foxtable(狐表)用户栏目专家坐堂 → 如何用参数调用外部程序?


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

主题:如何用参数调用外部程序?

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
如何用参数调用外部程序?  发帖心情 Post By:2017/12/22 14:36:00 [只看该作者]

需要用参数调用一个外部程序的快捷方式,如下图:


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


"目标"中的code如下:
"C:\Program Files (x86)\LANDesk\ServerManager\RCViewer\isscntr.exe" -A172.16.26.52;"妇科一护士站2" -sLD-LANSERVER -cx"Remote Control" -c"Chat" -c"File Transfer" -c"Remote Execute" -c"Reboot" -w


请问如何调用?




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


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

参考

 

http://www.foxtable.com/webhelp/scr/0353.htm

 

如果你知道快捷方式的路径,那直接运行快捷方式也行


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/12/22 14:50:00 [只看该作者]

关键是后面带的参数都一起拼上去吗?


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


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

参数写到红色地方,双引号换成单引号,或者双引号换成两个双引号

 

Dim Proc As New Process
Proc.File = "Notepad.exe" '指定要执行的文件
Proc.Arguments = "d:\test.txt" '指定命令行参数
Proc.Start()


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/12/22 17:13:00 [只看该作者]

如果每台电脑的 程序路径不一样,怎么调用呢?

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


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

你说的是 isscntr.exe 的路径不同?那你可以弹出一个对话框,让用户选择程序的路径,然后保存这个路径

 

http://www.foxtable.com/webhelp/scr/0328.htm

 


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/12/23 11:10:00 [只看该作者]

下面这样写有问题吗? 
Dim Proc As New Process
Proc.File = "isscntr.exe" '指定要执行的文件
'Proc.Arguments = "d:\test.txt"            '指定命令行参数
Proc.Arguments = "C:\Program Files (x86)\LANDesk\ServerManager\RCViewer\isscntr.exe' -A & '172.16.26.52' & ;'妇科一护士站2' -sLD-LANSERVER -cx'Remote Control' -c'Chat' -c'File Transfer' -c'Remote Execute' -c'Reboot' -w"
Proc.Start()

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 11:29:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/12/25 15:35:00 [只看该作者]

通过下面代码已经解决了
Dim Proc As New Process
Proc.File ="C:\Program Files (x86)\LANDesk\ServerManager\RCViewer\isscntr.exe"    '指定要执行的文件
Proc.Arguments = "-A" & str_ip & "; -c""Remote Control"" "
Proc.Start()


现在的问题是,有的电脑是64位,有的电脑是32位操作系统, 路径不一样,如何判断是两个路径中的哪一个?

Proc.File ="C:\Program Files (x86)\LANDesk\ServerManager\RCViewer\isscntr.exe"   
or 
Proc.File ="C:\Program Files\LANDesk\ServerManager\RCViewer\isscntr.exe"   


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


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

如果是固定在C盘,简单判断即可,如

 

Dim file1 = "C:\Program Files (x86)\LANDesk\ServerManager\RCViewer\isscntr.exe"
Dim file2 = "C:\Program Files\LANDesk\ServerManager\RCViewer\isscntr.exe"
Dim file As String = ""
If FileSys.FileExists(file1) Then
    file = file1
ElseIf FileSys.FileExists(file2) Then
    file = file2
End If
msgbox(file)

[此贴子已经被作者于2017/12/25 16:23:58编辑过]

 回到顶部
总数 12 1 2 下一页