1
如果我得到一個CGWindowID(_windowID)如下...如何檢查CGWindowID仍然有效
NSArray *windowList = (__bridge NSArray *)CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
for (NSDictionary *info in windowList) {
if ([[info objectForKey:(NSString *)kCGWindowOwnerName] isEqualToString:@"window name"] && ![[info objectForKey:(NSString *)kCGWindowName] isEqualToString:@""]) {
_windowID = [[info objectForKey:(NSString *)kCGWindowNumber] unsignedIntValue];
}
}
如何正確測試窗口ID仍然有效和窗口尚未關閉?我只是運行類似的代碼,只是檢查窗口ID存在?
在此先感謝
我捕獲的問題窗口無法隱藏或最小化。我真的只是在檢查後,如果窗口已經關閉,我得到了窗口ID。 – Equinox2000 2012-08-06 21:15:07
如果一個窗口關閉了,當傳遞'kCGWindowListOptionAll'(即屏幕和屏幕外)參數時,它甚至可能不會出現在'CGWindowListCopyWindowInfo'生成的窗口列表中。 – 2012-08-06 21:18:26
事實上,我只是想知道是否有一個更快的方法,而不僅僅是獲取窗口ID的列表,並看看窗口是否仍然在列表中。作爲一個黑客,因爲我是屏幕捕獲窗口,我檢查是否窗口大小是1x1,如果是這樣假設它已關閉。 – Equinox2000 2012-08-06 21:24:48