0

我们刚买了一台新的 win 7 64 计算机,一个非常旧的程序在启动时无法正确显示 - 在我更改其窗口大小之前,它不会完全绘制自己。我想编写一个启动旧程序的小脚本程序,然后更改其大小(例如,最小化然后恢复或最大化然后恢复其窗口)或以其他方式强制程序重绘自身。

这样,用户可以单击程序图标,它会闪烁片刻并正确显示。

我试过了:

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""c:\Program Files (x86)\VideoLan\VLC\vlc.exe""")
objShell.SendKeys "% x"
objShell.SendKeys "% r"
Set objShell = Nothing

基于如何使用 vb 脚本最大化、恢复或最小化窗口?这可以启动 vlc(测试程序,而不是问题程序),但没有改变它的大小。

编辑:运行后添加轻微延迟(wscript.sleep(200))解决了问题。我仍然想知道是否有更好的方法。

4

1 回答 1

0

不确定这是否可行,但您可以尝试一下:

CreateObject("Shell.Application").Namespace(0).Self.InvokeVerb "R&efresh"

上面调用了桌面的“刷新”,它可能也可能不会更新您的应用程序窗口。

于 2013-02-23T12:04:51.320 回答