我在这个方法上搜索了很多但是没办法
我希望我的VB程序一旦打开就会使用vbs脚本文件向用户提供一些消息 所以一旦程序打开,vbs文件保存在temp中并运行以向用户说明消息
我已将此代码与导入到Resources的vbs文件一起使用 但遗憾的是,它仅适用于一行脚本而非带有多行的脚本
Dim Variable As String = Environ("temp") & "Message.vbs"
If Not System.IO.File.Exists(Variable) Then
System.IO.File.WriteAllBytes(Variable, My.Resources.Message)
End If
Process.Start(Variable)
我已经使用了第二个代码,但由于保存
,它在编译时出错 Dim Variable As String = Environ("temp") & "\Message.vbs"
IO.File.Delete(Variable)
My.Resources.Access.Save(Variable )
Shell("explorer" & Variable )
请帮我解释这段代码,我花了很长时间才得到解决方案,但没有什么
提前致谢
答案 0 :(得分:1)
我对您的第一个示例进行了一些小的更改,并创建了一个简单的vbs文件。第一个更改是因为VB脚本文件只是一个文本文件我将资源添加为文本文件并将WriteAllBytes语句更改为WriteAllText。其次,因为WriteAllText
,(和WriteAllBytes
也是如此),如果文件已经存在,则覆盖该文件,我删除了If语句。您可能仍然需要它,以防您真的不想覆盖该文件。最后,我在文件名的开头添加了一个反斜杠,以在temp文件夹中创建文件。否则你会得到 drive:\ temppath \ tempMessage.vbs"。这很好地执行了我的简单脚本文件。
.NET代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Variable As String = Environ("temp") & "\Message.vbs"
System.IO.File.WriteAllText(Variable, My.Resources.hello)
Process.Start(Variable)
End Sub
我的VBScript文件:
MsgBox "Hello World", 0,"Messagebox #1"
MsgBox "My name is Fred", 0,"Messagebox #2"
MsgBox "I have to go now", 0,"Messagebox #3"