已知句柄,如何使某个窗口获得焦点呢

已知句柄,怎么使某个窗口获得焦点呢?VB codeDim NotepadHwnd As Long, hwnd As LongNotepadHwnd FindWin

已知句柄,怎么使某个窗口获得焦点呢?

VB code
    Dim NotepadHwnd As Long, hwnd As Long    NotepadHwnd = FindWindow("notepad", vbNullString)    '得到窗口类名为Edit的窗口句柄    hwnd = FindWindowEx(NotepadHwnd, 0, "Edit", vbNullString)


以前98下用
  SetActiveWindow NotepadHwnd
  apiSetFocus hwnd
可以,现在XP下不起作用

[解决办法]
BringWindowToTop NotepadHwnd
SetForegroundWindow NotepadHwnd
都不行?
[解决办法]
这时 XP 的行为特性决定的,给非当前程序的窗口设置焦点只会闪烁而不会真正转移焦点。

该特性可以通过工具 TweakUI for Windows XP 修改,它的选项 
General\Focus\Prevent applications from stealing focus
[解决办法]
跟系统有关,有些系统下就没法置于前台 有些系统你用text1.setfocus都可以置于前台!
据说跟
VB code
HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundFlashCountHKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout
[解决办法]
Private Declare Function SetForegroundWindow Lib "user32 " (ByVal hwnd As Long) As Long