我正在尝试编写定期放置/确保程序在所有其他程序之前的代码。为了测试这个,我使用了记事本。 如果我在记事本面前打开一个新程序,这个代码似乎才有用 - 而不是我打开一个程序;然后开始执行我的代码;然后把另一个已打开的程序放在记事本面前。在这种情况下,记事本仅在任务栏中闪烁橙色。 有人可以帮我吗?
Sub test()
Dim vPID As Variant
vPID = Shell("notepad.exe", vbMaximizedFocus)
AppActivate vPID
'Notepad opens, I put another program in front of it
Application.Wait (Now + TimeValue("00:00:05"))
'I want Notepad back in front again:
Dim HWND As Long
Dim SetFocus As Long
HWND = FindWindow("Notepad", vbNullString)
SetFocus = SetForegroundWindow(HWND)
Application.Wait (Now + TimeValue("00:00:05"))
'Close Notepad
Call Shell("TaskKill /F /PID " & CStr(vPID), vbHide)
End Sub