■掲示板に戻る■ 全部 1- 101- 最新50
【質問】プログラマー用総合質問スレ【Win32】

83 :LACHE@AoA:04/09/10 22:50 ID:8qOZmi7k
問題のソースです。
どこかのサイトからのパクリです^^;

void SetAbsoluteForegroundWindow( HWND hWnd ) {

int nTargetID, nForegroundID;
DWORD sp_time;

// フォアグラウンドウィンドウを作成したスレッドのIDを取得
nForegroundID = GetWindowThreadProcessId( GetForegroundWindow(), NULL );
// 目的のウィンドウを作成したスレッドのIDを取得
nTargetID = GetWindowThreadProcessId( hWnd, NULL );

// スレッドのインプット状態を結び付ける
AttachThreadInput( nTargetID, nForegroundID, TRUE ); // TRUE で結び付け

// 現在の設定を sp_time に保存
SystemParametersInfo( SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &sp_time, 0 );
// ウィンドウの切り替え時間を 0ms にする
SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT, 0, (LPVOID)0, 0 );

// ウィンドウをフォアグラウンドに持ってくる
SetForegroundWindow( hWnd );

// 設定を元に戻す
SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT, 0, &sp_time, 0 );

// スレッドのインプット状態を切り離す
AttachThreadInput( nTargetID, nForegroundID, FALSE ); // FALSE で切り離し

} // SetAbsoluteForgroundWindow

33KB
続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail(省略可)

0ch BBS 2007-01-24