以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何用参数调用外部程序?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=111466)

--  作者:ycwk
--  发布时间: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


请问如何调用?




--  作者:有点甜
--  发布时间:2017/12/22 14:43:00
--  

参考

 

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

 

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


--  作者:ycwk
--  发布时间:2017/12/22 14:50:00
--  
关键是后面带的参数都一起拼上去吗?


--  作者:有点甜
--  发布时间:2017/12/22 14:58:00
--  

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

 

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


--  作者:ycwk
--  发布时间:2017/12/22 17:13:00
--  
如果每台电脑的 程序路径不一样,怎么调用呢?
--  作者:有点甜
--  发布时间:2017/12/22 17:24:00
--  

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

 

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

 


--  作者:ycwk
--  发布时间: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()

--  作者:有点蓝
--  发布时间:2017/12/23 11:29:00
--  
直接运行快捷方式


--  作者:ycwk
--  发布时间: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"   


--  作者:有点甜
--  发布时间: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编辑过]