Win32API質問箱 Build17
■ このスレッドは過去ログ倉庫に格納されています
0798792
NGNGたまたま最近似たようなことをやりました。
EnumThreadWindowsでウィンドウを列挙して、自分以外のウィンドウをディセーブルすれば良いかと。
HWND hMyWnd;
std::list<WndStatus> WndStatusList;
// ウィンドウを列挙
void Disable()
{
EnumThreadWindows(GetWindowThreadProcessId(hMyWnd, 0), EnumThreadWndProc, 0);
}
// ウィンドウ列挙コールバックの中で自分以外のウィンドウをディセーブル
BOOL CALLBACK EnumThreadWndProc(HWND hWnd, LPARAM lParam)
{
if (hWnd != hMyWnd)
{
// 自分以外のウィンドウの状態を保存
WndStatus x;
x.hWnd = hWnd;
x.bEnable = IsWindowEnabled(hWnd);
WndStatusList.push_back(x); // 元に戻すときはこの内容をリストアする
// ディセーブル
EnableWindow(hWnd, FALSE);
}
return TRUE;
}
■ このスレッドは過去ログ倉庫に格納されています