Я пытаюсь активировать детское окно от 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 window, not the child window
# app.unhide()
# app.activateWithOptions_(NSApplicationActivateIgnoringOtherApps)
break
< /code>
Основной идентификатор процесса - 6960, а «Kcgwindowownerpid» в окне ребенка - 6960. Это означает, что в процессе 6960 есть два окна. < /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 ... w-to-front
Mac Python, как принести детское окно на спереди ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вызывая браузеры в драматурге медленнее на Mac (S) Mac (S) Mac (S) [S) [S)
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-