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

已知句柄,怎么使某个窗口获得焦点呢?
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\ForegroundFlashCount
HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout

------解决方案--------------------
Private Declare Function SetForegroundWindow Lib "user32 " (ByVal hwnd As Long) As Long