Q
QSmile
Unregistered / Unconfirmed
GUEST, unregistred user!
枚举窗口 EnumWindows 如何用。<br>它是返回所有顶级窗口还是当前窗口的子窗口。<br>我这样用<br><br>function EnumWindowProc(Handle :THandle;value WORD)BOOL;<br><br>.....<br>EnumWindows(@EnumWindowProc,0);<br><br>.....<br>function EnumWindowProc(Handle: Thandle; Value: DWORD): BOOL;<br>var<br> cBuf:array of char;<br> Len :Longint;<br>begin<br> Form1.Memo1.Lines.Add(IntToHex(Handle,8));<br><br> Len := GetWindowTextLength(Handle);<br> SetLength(cBuf,Len+1);<br> ZeroMemory(@cBuf[0],Len+1);<br> GetWindowText(Handle,@cBuf[0],Len);<br> Form1.Memo1.Lines.Add(String(cBuf));<br> SetLength(cBuf,0);<br> Result := true;<br>end;<br><br>可以得到一些句柄。但得不到窗口名称。窗口名称都是空的。<br>用 GetWindow 又得到一大堆窗口名称<br>什么 Define IME 有很多个。有很多是重复的。<br>有没有办法只枚举用 ALT + TAB 看到的窗口?<br>