OSX中有一種方法可以獲取屏幕上可見的所有應用程序列表嗎?我可以獲得每個應用程序的所有窗口列表,它們的大小和位置?在OSX屏幕上可見的列表窗口
回答
您可以使用名爲wmctrl的工具來實現此目的。它可能不會在Mac OSX上安裝,但您可以通過brew install homebrew/x11/wmctrl
(首先,如果不想混淆git repos和錯誤,先獲取brew或任何知道如何找到wmctrl的軟件包管理器)獲得它。
然後,你應該能夠得到積極的窗戶是這樣的:
BASH
wmctrl -l
您可以使用該命令的輸出轉換成別的東西算賬:
BASH
./myProgram $(wmctrl -l)
希望這有助於!
UPDATE:
如果您的窗口管理器是不兼容wmctrl,你最好的辦法就是使用的AppleScript了點。有很簡單的方法,就像這個answer建議的那樣。我認爲這種方法會讓你更容易獲得窗口屬性。
的AppleScript
tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
[...]
有樂趣和好運:)
正在運行'wmctrl -l'沒有輸出,'wmctrl -d'給我' 無法獲取桌面屬性的數量。 (_NET_NUMBER_OF_DESKTOPS或_WIN_WORKSPACE_COUNT)' –
wmctrl -m 名稱:N/A 類:N/A PID:N/A 窗口管理器的 「顯示桌面」 模式:N/A –
@FilipHaglund我想這是因爲wmctrl假設你正在使用一個你不是的給定的Windows管理器。我更新了我的答案,以添加更適合OSX的替代方案。 –
- 1. 如何在OSX Lion上的Xcode中獲取可見窗口的列表?
- 2. 我如何使窗口(osx)始終懸停在屏幕上方
- 3. 確保OS X上的窗口在屏幕上可可
- 4. 屏幕上對中窗口
- 5. 窗口出現在屏幕上的ubuntu
- 6. 帶可可窗口的封面屏幕
- 7. 拍攝不可見窗口的屏幕截圖
- 8. 當窗體在屏幕上可見時觸發的事件
- 9. 可可:在屏幕上設置窗口的位置
- 10. 在父窗口所在的屏幕上顯示子窗口
- 11. pbcopy似乎無法在OSX的gnu屏幕窗口中工作
- 12. 獲取並設置屏幕上可見的任何窗口的大小
- 13. emulator-5554在屏幕上不可見?
- 14. 在屏幕上組合兩個窗口
- 15. osx上的屏幕截圖
- 16. 如何在osx上全屏打開的窗口上顯示qt窗口?
- 17. 更新屏幕上不可見的UITableViewController
- 18. 所有屏幕上的顯示窗口
- 19. 來電屏幕上的浮動窗口
- 20. delphi凍結窗口上的屏幕
- 21. 當第二個屏幕不可見時將窗口從第二個屏幕移動到主屏幕
- 22. WPF Datagrid:在屏幕上查找當前可見的列
- 23. sdl屏幕UTF8屏幕窗口標題
- 24. SmartGWT如何知道屏幕上是否有任何窗口可見?
- 25. 使用窗口ID在屏幕上製作窗口
- 26. 窗口的屏幕截圖
- 27. 我可以在屏幕上移動pygame遊戲窗口(pygame)
- 28. 兩個窗口全屏在兩個不同的屏幕上
- 29. 虛擬StringTree的提示窗口被屏蔽在屏幕上
- 30. 組合框下拉列表正在窗口屏幕下方。
你可能想在這裏看看我的答案... http://stackoverflow.com/a/32842314/ 2836621 –