Win.ShellExecute 0, "open", "C:\dir\program.exe", "arguments", vbNullString, SW_SHOWNORMAL
Win.ShellExecute 0, "open", "http://www.google.com", vbNullString, vbNullString, SW_SHOWNORMAL
Я хочу, чтобы google.com открывался независимо от того, работает ли еще program.exe. Как это исправить? Я бы предпочел избегать таких вещей, как называть «старт»
Оба эти вызова происходят практически мгновенно, и программа VB продолжает работать. Однако как в Vista, так и в XP сайт google.com не открывается до тех пор, пока не закроется program.exe. Если приложение, вызвавшее shellexecute
, закрывается до закрытия программы.exe, google.com все равно откроется после закрытия программы.exe.
Примечание:
Я обнаружил, что вызов program.exe делает каждые 100 мс или около того решает проблему, но, очевидно, это своего рода хак.
Примечание 2:
Ниже приведен пример реализации программы .exe. Да, я понимаю, что изменение program.exe исправит это (т.е. добавит вызов doevents
).
Option Explicit
Public Sub Main()
Do Until False
Sleep 100
Loop
End Sub