바탕 화면에 전경 창이 있는지 확인하는 방법이 있습니까?Windows 7 바탕 화면에 ActiveWindow가 있는지 확인하는 방법
이 방법은 작동하지만 올바르지 않은 것 같습니다. 내 바탕 화면 핸들에는 전경 창
Handle := GetForegroundWindow;
if Handle = 328992 then
begin
MessageBox(0, 'There is no active window.', 'No Active Window', MB_ICONWARNING or MB_OK);
exit;
end;
이 작업을 수행하는 가장 좋은 방법은 무엇입니까 328992.를 반환있을 때? 델파이 2010
후속 조사 : 65,552 ShellWindow을 반환 DesktopWindow
이iDesktopWindow := GetDesktopWindow;
iShellWindow := GetShellWindow;
iForegroundWindow := GetForegroundWindow;
ShowMessage('DesktopWindow: ' + IntToStr(iDesktopWindow));
ShowMessage('ShellWindow: ' + IntToStr(iShellWindow));
ShowMessage('ForegroundWindow: ' + IntToStr(iForegroundWindow));
내 이전 편집 앱이 실행 된 ForegroundWindow 때마다 다른 값을 보여 주었다 65,724
반환 ForegroundWindow 65,864 반환하지만 내가 실패 값을 얻기 전에 응용 프로그램을 최소화하십시오. 이제 ForegroundWindow에 대해 매번 65724라는 일관된 가치를 얻고 있습니다. 이 경우 활성 창은 없습니다 ... 바탕 화면과 최소화 된 창.
"활성 창"을 "전경 창"과 구별하십시오. 너 무슨 소리 야? –
죄송합니다 ... 활성 창을 ForegroundWindow로 변경하기 위해 편집했습니다. 내가해야 할 일은 바탕 화면에 바탕 화면이 없는지 결정하는 것입니다. 단지 바탕 화면입니다. 내 테스팅 세션에는 데스크톱과 두 개의 최소화 된 응용 프로그램이 있습니다. – Bill
바탕 화면을 클릭하면 ShellWindow가 활성화되었음을 알 수 있습니다. 모든 것을 최소화하면 전경 창이 WorkerW라는 창 클래스가됩니다. Spy ++를 아직 실행 했습니까? –