从VB6读取pythonshell行

2024-10-01 15:46:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,它打印出一个文件路径。 我需要阅读转换成一个字符串,这个字符串可以在vb6程序中用作变量。This is the output of the script

我尝试了不同的代码,我发现在网上,但没有一个有效。 我还是把它们贴出来,因为这可能是我的错误。在

Private Sub Command1_Click()

 Dim wscript As Object
 Dim objShell As Object
 Dim objExecObject As Object

   Set objShell = wscript.CreateObject("WScript.Shell")
   Set objExecObject = objShell.Exec("python.exe /k Get_Info.py")
   Text1.Text = ""
   Do While Not objExecObject.StdOut.AtEndOfStream
        Text1.Text = Text1.Text & vbCrLf & objExecObject.StdOut.ReadLine()
   Loop
End Sub

对于这个,我不太清楚如何声明这3个变量,所以我不确定是否有效

^{pr2}$

这一个却什么也得不到。将命令$返回为“” 我也试过打字

script = App.path & "\" & "Get_Info.py"

path = Shell("python.exe script & parameter ", vbMaximizedFocus)

Sleep 1000

MsgBox path 

每次单击时,我都会得到一个不同的4位数字作为输出,但没有路径的踪迹。在

请帮我一下:) 谢谢


Tags: thepath字符串text路径objectasscript
1条回答
网友
1楼 · 发布于 2024-10-01 15:46:25
Set WshShell = WScript.CreateObject("WScript.Shell")

Set wmic = WshShell.Exec("cmd /c echo hello")
Do While wmic.Status = 0
    WScript.Sleep 100
Loop

Decoded = Replace(wmic.StdOut.ReadAll, vbcrlf, "")

注意我使用ReadAll而不是循环。这是可以粘贴到VB6中的VBScript。您可以在VB6中使用早期绑定,Dim对象作为Dim x As WshShell 在将引用(项目菜单)添加到Windows脚本宿主对象模型之后,这将大大加快方法调用的速度(尽管您不会注意到是否只执行了一次)。在

Python也可以使用COM对象。在

更新

正如您所知道的,使用app.path您不能保证系统配置,也不应该更改用户环境-除非使您的程序可用(即开始菜单)。在

VB6程序,除了简单的程序,需要安装在计算机上。仅仅因为它在使用VB6开发环境的计算机上工作,并不意味着不安装它就可以在其他地方工作。使用“加载项”菜单上的“包和部署向导”。在

但是应用程序目录(即app.path)只能由管理员写入。程序使用AppData目录来存储需要创建、写入或读取但不供用户打开的文件。在

用户的数据进入文档、图片、视频等

要获得这些文件夹,您可以使用其中的一个,比如https://msdn.microsoft.com/fr-fr/library/0ea7b5xe(v=vs.84).aspx。在

对于您正在使用的软件时代,请参阅《Windows 2000指南》,我选择了《Microsoft Windows 2000桌面应用程序应用程序规范》https://msdn.microsoft.com/en-us/library/ms954115.aspx

https://msdn.microsoft.com/en-us/library/ms954375.aspx

https://msdn.microsoft.com/en-us/library/bb742580.aspx

https://msdn.microsoft.com/en-us/library/ms954371.aspx

相关问题 更多 >

    热门问题