::SetFocus(GetHwnd());
const HWND hFore = ::GetForegroundWindow();
const DWORD dwThreadIdFore = ::GetWindowThreadProcessId( hFore, NULL);
BOOL bAttatched = FALSE;
const dwCurThreadID = ::GetCurrentThreadId();
if( dwThreadIdFore != dwCurThreadID )
{//调SetForegroundWindow,SetActiveWindow,SetFocus,BringWindowToTop, SetWindowsPos
::AttachThreadInput( dwThreadIdFore, dwCurThreadID, TRUE );
bAttatched = TRUE;
}
HWND hWnd = GetHwnd();
SetForegroundWindow( hWnd );
::SetActiveWindow( hWnd );
::SetFocus( hWnd );
BringWindowToTop( hWnd );
if ( bAttatched )
::AttachThreadInput( dwThreadIdFore, dwCurThreadID, FALSE );
BringWindowToTop( hWnd );
//::SetForegroundWindow(GetHwnd());
//::SetActiveWindow(GetHwnd());