Я пытаюсь активировать подпроцессовое окно от Python. Прежде всего, запустите приложение, нажмите кнопку, а затем всплывает новое окно (подпроцесеное). Использование Python, чтобы найти окно по заголовку и активировать его. < /P>
from AppKit import NSWorkspace
from Quartz import (CGWindowListCopyWindowInfo, kCGWindowListOptionOnScreenOnly, kCGNullWindowID)
from Cocoa import NSApplicationActivateIgnoringOtherApps
print('--- running applications ---')
runningApps = NSWorkspace.sharedWorkspace().runningApplications()
for app in runningApps:
print(app)
wndList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID)
# print('----------> wndList')
for wnd in wndList:
# print(wnd)
if wnd["kCGWindowName"] == "some title":
print('--- found ---')
print(wnd)
# ---------here, how to activate the window?
# follow code doesn't work, it's just active the main process app, not the subprocess window
# app.unhide()
# app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps)
break
< /code>
Использование инструмента Pstree может получить < /p>
-+= 00001 root /sbin/launchd
\-+= 06960 /Applications/WeChat.app/Contents/MacOS/WeChat
\-+- 06961 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/C
|--- 06964 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 06965 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 06967 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 06969 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 07085 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 12312 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
|--- 26736 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
\--- 29628 /Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app
< /code>
Основной идентификатор процесса - 06960, а идентификатор процесса окна - 26736. < /p>
Выход VSCODE < /p>
--- running applications ---
--- found ---
{
kCGWindowAlpha = 1;
kCGWindowBounds = {
Height = 924;
Width = 495;
X = 701;
Y = 105;
};
kCGWindowIsOnscreen = 1;
kCGWindowLayer = 0;
kCGWindowMemoryUsage = 1264;
kCGWindowName = "\U751f\U5b58\U8981\U585e";
kCGWindowNumber = 8557;
kCGWindowOwnerName = "\U5fae\U4fe1";
kCGWindowOwnerPID = 6960;
kCGWindowSharingState = 1;
kCGWindowStoreType = 1;
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ess-window
Mac Python, как активно активно ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вызывая браузеры в драматурге медленнее на Mac (S) Mac (S) Mac (S) [S) [S)
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Невозможно перенести Xamarin.Mac, Android и iOS в .net iOS, Android и Mac.
Anonymous » » в форуме IOS - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-