以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [建议]改进Process用于执行外部程序  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186153)

--  作者:2425004926
--  发布时间:2023/4/9 22:10:00
--  [建议]改进Process用于执行外部程序
示例1:
Dim Proc As New Process
Proc.File = "C:\\Program Files\\Mozilla Firefox\\firefox.exe" \'指定要执行的文件
Proc.Arguments = "C:\\Users\\zhangce\\Desktop\\新建文    件夹\\01页面刷新按钮.htm" \'指定命令行参数
Proc.Start()
提示:Firefox 无法在 /C:/Users/zhangce/Desktop/新建文 找到该文件。

示例2:
Dim Proc As New Process
Proc.File = "C:\\Program Files\\Mozilla Firefox\\firefox.exe" \'指定要执行的文件
Proc.Arguments = "C:\\Users\\zhangce\\Desktop\\新建文件夹\\01  页面刷新按钮.htm" \'指定命令行参数
Proc.Start()
提示:Firefox 无法在 /C:/Users/zhangce/Desktop/新建文新建文件夹\\01 找到该文件。

示例3:
Dim Proc As New Process
Proc.File = "C:\\Program Files\\Mozilla Firefox\\firefox.exe" \'指定要执行的文件
Proc.Arguments = "C:\\Users\\zhangce\\Desktop\\新建文件夹\\01页面刷新按钮.htm" \'指定命令行参数
Proc.Start()
可以打开,ok。
总结:只要路径中出现了空格就不能打开文件

--  作者:有点蓝
--  发布时间:2023/4/9 22:37:00
--  
首先,Process是.net自己提供的类型,Foxtable改不了。

其次,这个Proc.Arguments参数是firefox.exe内部使用的,有问题也是要找firefox.exe。

比如使用记事本测试,文件路径有空格是没有问题的
Dim Proc As New Process
Proc.File = "notepad.exe" \'指定要执行的文件
Proc.Arguments = "D:\\问题\\新建 文本文档.txt" \'指定命令行参数
Proc.Start()

--  作者:2425004926
--  发布时间:2023/4/10 10:00:00
--  
 明白了,谢谢老师,那我就加一段代码,把文件夹和文件中的名称的空格删掉