Foxtable(狐表)用户栏目专家坐堂 → [求助]bat文件执行问题


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

主题:[求助]bat文件执行问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
[求助]bat文件执行问题  发帖心情 Post By:2017/9/4 12:38:00 [只看该作者]

请教老师:下面代码执行有问题

dim proc as new process
proc.file = projectpath & "mydll\aaaa.bat"
on error resume next
proc.start()
proc.waitforinputidle()
if err.number <> 0 then
    messagebox.show("控件注册失败!")
else
    messagebox.show("控件注册成功!")
endif

执行后控件已经注册成功了,但弹出的对话框却是  控件注册失败!



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


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

 注册好以后,尝试createobject生成对应的对象,如果报错,说明没有成功,否则,就是注册成功了。

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


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

已经注册成功了,但弹出的对话框却是  控件注册失败!

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


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

bat文件见附件,试验时将bat文件放在某个中文文件夹,代码如下,执行时修改的路径认不出来了,执行会出错,请老师看看如何 修改?
Dim batfilename As String = ProjectPath & "mydll\MxDraw52\RegMxDrawX.bat"
Dim OldText As String = FileSys.ReadAllText(batfilename)
Dim dirsz() As String = batfilename.Split("\")
Dim dirstr As String = "cd\" & vbcrlf & dirsz(0) & vbcrlf
For n As Integer = 1 To dirsz.Length -2
    dirstr = dirstr & "cd " & dirsz(n) & vbcrlf
Next
dirstr = dirstr.trim(vbcrlf)
MessageBox.Show(OldText)
Dim NewText = OldText.Replace("%~d0" & vbcrlf & "cd %~dp0",dirstr)
FileSys.WriteAllText(batfilename,NewText,False)
MessageBox.Show(NewText)
Dim Proc As New Process
Proc.File = batfilename
On Error Resume Next
Proc.Start()
Proc.WaitForInputIdle()
If Err.Number <> 0 Then
    MessageBox.Show("控件注册失败!")
Else
    MessageBox.Show("控件注册成功!")
End If
FileSys.WriteAllText(batfilename,OldText,False)
[此贴子已经被作者于2017/9/4 13:11:15编辑过]

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


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

附件怎么传不上去?
[此贴子已经被作者于2017/9/4 13:12:32编辑过]

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


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

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


请老师看看
[此贴子已经被作者于2017/9/4 14:10:15编辑过]

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


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

无法那样判断的,你要判断注册表,红色改成你控件或dll的对应编号

 

Dim reg = Registry.ClassesRoot.OpenSubKey("CLSID\{7713F78A-44DE-42BA-A1F6-3FB0BD6CA63B}\")
If reg Is Nothing Then
    msgbox("没注册")
End If


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


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

bat文件替换一些字符后,在运行时汉字不认识了,路径错误

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


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

使用英文路径

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


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

proc.waitforinputidle()  感觉没有起作用

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