有没有办法确定桌面是否有前景窗口?
这有效,但似乎不正确?当我的桌面句柄上没有前景窗口时,返回 328992。
Handle := GetForegroundWindow;
if Handle = 328992 then
begin
MessageBox(0, 'There is no active window.', 'No Active Window', MB_ICONWARNING or MB_OK);
exit;
end;
实现这一目标的最佳方法是什么?德尔福 2010
跟进:
iDesktopWindow := GetDesktopWindow;
iShellWindow := GetShellWindow;
iForegroundWindow := GetForegroundWindow;
ShowMessage('DesktopWindow: ' + IntToStr(iDesktopWindow));
ShowMessage('ShellWindow: ' + IntToStr(iShellWindow));
ShowMessage('ForegroundWindow: ' + IntToStr(iForegroundWindow));
DesktopWindow 返回 65552 ShellWindow 返回 65864 ForegroundWindow 返回 65724
每次运行应用程序时,我之前的编辑都会为 ForegroundWindow 显示不同的值,但我未能在获得该值之前最小化应用程序。现在我每次都为 ForegroundWindow 获得一致的值 65724。在这种情况下,没有活动窗口……只有桌面和最小化的窗口。