我正在尝试编写定期放置/确保程序位于所有其他程序前面的代码。为了测试这一点,我使用了记事本。这段代码似乎只有在我在记事本前面打开一个新程序时才有效——而不是在我打开程序时;然后开始执行我的代码;然后把另一个已经打开的程序放在记事本前面。在这种情况下,记事本仅在任务栏中闪烁橙色。有人可以帮我吗?
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