Delphi相談室(中級者以上)その12
■ このスレッドは過去ログ倉庫に格納されています
0328319
NGNGというか、社内の別の人が組んでくれました。一応ご参考までに。
procedure SetForeWnd(hWnd:HWND);
var
dwID,dwForeID: DWORD;
begin
dwID := GetWindowThreadProcessId(hWnd, nil);
dwForeID := GetWindowThreadProcessId(GetForegroundWindow, nil);
if dwID = dwForeID then
begin
BringWindowToTop(hWnd);
end
else
begin
AttachThreadInput(dwID, dwForeID, True);
SetActiveWindow(hWnd);
AttachThreadInput(dwID, dwForeID, False);
BringWindowToTop(hWnd);
end;
end;
アクティブにしたいウィンドウのハンドルと現在アクティブなウィンドウのハンドルを比べ
異なるようであればアタッチして、ウィンドウをアクティブにし、再び切り離してる・・・ようです。
■ このスレッドは過去ログ倉庫に格納されています