最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

macos - mac python , how to bring a child window to front - Stack Overflow

programmeradmin2浏览0评论

I'm trying to activate a child window by python. First of all , run an app , click a button, then popup a new child window. Using python to find the window by title, and activate it.

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

The main process id is 6960 and the child window's "kCGWindowOwnerPID" is 6960. It means ,the process 6960 has two windows. How to bring the child window to front?

The vscode output

--- running applications ---
<NSRunningApplication: 0x7fec21f26fb0 (com.apple.loginwindow - 154) LSASN:{hi=0x0;lo=0x5005}>
<NSRunningApplication: 0x7fec21f270d0 (com.apple.ViewBridgeAuxiliary - 383) LSASN:{hi=0x0;lo=0x7007}>
<NSRunningApplication: 0x7fec21f271b0 (com.apple.accessibility.AXVisualSupportAgent - 537) LSASN:{hi=0x0;lo=0xd00d}>
<NSRunningApplication: 0x7fec21f27290 (com.apple.systemuiserver - 562) LSASN:{hi=0x0;lo=0xe00e}>
<NSRunningApplication: 0x7fec21f27370 (com.apple.dock - 560) LSASN:{hi=0x0;lo=0xf00f}>
<NSRunningApplication: 0x7fec21f27450 (com.apple.talagent - 559) LSASN:{hi=0x0;lo=0x10010}>
<NSRunningApplication: 0x7fec21f27530 (com.apple.ViewBridgeAuxiliary - 571) LSASN:{hi=0x0;lo=0x11011}>
<NSRunningApplication: 0x7fec21f27610 (com.apple.AppSSOAgent - 567) LSASN:{hi=0x0;lo=0x12012}>
<NSRunningApplication: 0x7fec21f276f0 (com.apple.controlcenter - 561) LSASN:{hi=0x0;lo=0x13013}>
<NSRunningApplication: 0x7fec21f277d0 (com.apple.quicklook.QuickLookUIService - 574) LSASN:{hi=0x0;lo=0x14014}>
<NSRunningApplication: 0x7fec21f278b0 (com.apple.notificationcenterui - 579) LSASN:{hi=0x0;lo=0x15015}>
<NSRunningApplication: 0x7fec21f27990 (com.apple.finder - 564) LSASN:{hi=0x0;lo=0x16016}>
<NSRunningApplication: 0x7fec21f27a70 (com.apple.dock.extra - 595) LSASN:{hi=0x0;lo=0x17017}>
<NSRunningApplication: 0x7fec21f27b50 (com.apple.Spotlight - 602) LSASN:{hi=0x0;lo=0x18018}>
<NSRunningApplication: 0x7fec21f27c30 (com.bandisoft.mac.bandizip.findersyncextension - 588) LSASN:{hi=0x0;lo=0x19019}>
<NSRunningApplication: 0x7fec21f27d10 ((null) - 613) LSASN:{hi=0x0;lo=0x1b01b}>
<NSRunningApplication: 0x7fec21f27df0 (com.apple.wifi.WiFiAgent - 612) LSASN:{hi=0x0;lo=0x1c01c}>
<NSRunningApplication: 0x7fec21f27ed0 (com.apple.coreservices.uiagent - 619) LSASN:{hi=0x0;lo=0x1d01d}>
<NSRunningApplication: 0x7fec21f27fb0 (com.apple.AccessibilityVisualsAgent - 618) LSASN:{hi=0x0;lo=0x1e01e}>
<NSRunningApplication: 0x7fec21f28090 (com.apple.PressAndHold - 620) LSASN:{hi=0x0;lo=0x1f01f}>
<NSRunningApplication: 0x7fec21f28170 (com.apple.CoreLocationAgent - 649) LSASN:{hi=0x0;lo=0x20020}>
<NSRunningApplication: 0x7fec21f28250 (com.apple.universalcontrol - 654) LSASN:{hi=0x0;lo=0x21021}>
<NSRunningApplication: 0x7fec21f28330 (com.apple.security.Keychain-Circle-Notification - 645) LSASN:{hi=0x0;lo=0x22022}>
<NSRunningApplication: 0x7fec21f28410 (com.apple.TextInputMenuAgent - 772) LSASN:{hi=0x0;lo=0x25025}>
<NSRunningApplication: 0x7fec21f284f0 (com.apple.Siri - 763) LSASN:{hi=0x0;lo=0x26026}>
<NSRunningApplication: 0x7fec21f285d0 (com.apple.AirPlayUIAgent - 769) LSASN:{hi=0x0;lo=0x27027}>
<NSRunningApplication: 0x7fec21f286b0 (com.apple.TextInputSwitcher - 779) LSASN:{hi=0x0;lo=0x28028}>
<NSRunningApplication: 0x7fec21f28790 (com.tuxera.filesystems.ntfs.agent - 759) LSASN:{hi=0x0;lo=0x2a02a}>
<NSRunningApplication: 0x7fec21f28870 (com.bjango.istatmenus.agent - 766) LSASN:{hi=0x0;lo=0x2b02b}>
<NSRunningApplication: 0x7fec21f28950 (com.bjango.istatmenus.status - 771) LSASN:{hi=0x0;lo=0x2c02c}>
<NSRunningApplication: 0x7fec21f28a30 (com.apple.QuickLookThumbnailing.extension.ThumbnailExtension-macOS - 808) LSASN:{hi=0x0;lo=0x2d02d}>
<NSRunningApplication: 0x7fec21f28b10 (com.apple.SoftwareUpdateNotificationManager - 1010) LSASN:{hi=0x0;lo=0x2f02f}>
<NSRunningApplication: 0x7fec21f28bf0 ((null) - 356) LSASN:{hi=0x0;lo=0x30030}>
<NSRunningApplication: 0x7fec21f28cd0 (com.apple.SiriNCService - 1068) LSASN:{hi=0x0;lo=0x31031}>
<NSRunningApplication: 0x7fec21f28db0 (com.apple.UIKitSystemApp - 1124) LSASN:{hi=0x0;lo=0x32032}>
<NSRunningApplication: 0x7fec21f28e90 ((null) - 583) LSASN:{hi=0x0;lo=0x33033}>
<NSRunningApplication: 0x7fec21f28f70 (com.apple.nbagent - 1271) LSASN:{hi=0x0;lo=0x34034}>
<NSRunningApplication: 0x7fec21f29050 (com.apple.OSDUIHelper - 2662) LSASN:{hi=0x0;lo=0x35035}>
<NSRunningApplication: 0x7fec21f29130 ((null) - 524) LSASN:{hi=0x0;lo=0x36036}>
<NSRunningApplication: 0x7fec21f29210 (com.apple.Terminal - 6113) LSASN:{hi=0x0;lo=0x3c03c}>
<NSRunningApplication: 0x7fec21f292f0 (com.tencent.xinWeChat - 6960) LSASN:{hi=0x0;lo=0x44044}>
<NSRunningApplication: 0x7fec21f293d0 (com.apple.WebKit.Networking - 6963) LSASN:{hi=0x0;lo=0x45045}>
<NSRunningApplication: 0x7fec21f294b0 (com.tencent.xinWeChat.WeChatAppEx - 6961) LSASN:{hi=0x0;lo=0x46046}>
<NSRunningApplication: 0x7fec21f29590 (com.tencent.xinWeChat.WeChatAppEx.helper.renderer - 6969) LSASN:{hi=0x0;lo=0x47047}>
<NSRunningApplication: 0x7fec21f29670 (com.apple.WebKit.WebContent - 6984) LSASN:{hi=0x0;lo=0x49049}>
<NSRunningApplication: 0x7fec21f29750 (com.apple.appkit.xpc.openAndSavePanelService - 7004) LSASN:{hi=0x0;lo=0x4a04a}>
<NSRunningApplication: 0x7fec21f29830 (com.apple.quicklook.QuickLookUIService - 7005) LSASN:{hi=0x0;lo=0x4b04b}>
<NSRunningApplication: 0x7fec21f29910 (com.bandisoft.mac.bandizip.findersyncextension - 7006) LSASN:{hi=0x0;lo=0x4c04c}>
<NSRunningApplication: 0x7fec21f299f0 (com.bandisoft.mac.bandizip.findersyncextension - 7066) LSASN:{hi=0x0;lo=0x4e04e}>
<NSRunningApplication: 0x7fec21f29ad0 (com.bandisoft.mac.bandizip.findersyncextension - 7069) LSASN:{hi=0x0;lo=0x4f04f}>
<NSRunningApplication: 0x7fec21f29bb0 (com.bandisoft.mac.bandizip.findersyncextension - 7070) LSASN:{hi=0x0;lo=0x50050}>
<NSRunningApplication: 0x7fec21f29c90 (com.bandisoft.mac.bandizip.findersyncextension - 7071) LSASN:{hi=0x0;lo=0x51051}>
<NSRunningApplication: 0x7fec21f29d70 (com.bandisoft.mac.bandizip.findersyncextension - 7072) LSASN:{hi=0x0;lo=0x52052}>
<NSRunningApplication: 0x7fec21f29e50 (com.bandisoft.mac.bandizip.findersyncextension - 7077) LSASN:{hi=0x0;lo=0x53053}>
<NSRunningApplication: 0x7fec21f29f30 (com.bandisoft.mac.bandizip.findersyncextension - 7078) LSASN:{hi=0x0;lo=0x54054}>
<NSRunningApplication: 0x7fec21f2a010 (com.bandisoft.mac.bandizip.findersyncextension - 7079) LSASN:{hi=0x0;lo=0x55055}>
<NSRunningApplication: 0x7fec21f2a0f0 (com.bandisoft.mac.bandizip.findersyncextension - 7080) LSASN:{hi=0x0;lo=0x56056}>
<NSRunningApplication: 0x7fec21f2a1d0 (com.bandisoft.mac.bandizip.findersyncextension - 7081) LSASN:{hi=0x0;lo=0x57057}>
<NSRunningApplication: 0x7fec21f2a2b0 (com.bandisoft.mac.bandizip.findersyncextension - 7082) LSASN:{hi=0x0;lo=0x58058}>
<NSRunningApplication: 0x7fec21f2a390 (com.bandisoft.mac.bandizip.findersyncextension - 7083) LSASN:{hi=0x0;lo=0x59059}>
<NSRunningApplication: 0x7fec21f2a470 (com.tencent.xinWeChat.WeChatAppEx.helper.renderer - 7085) LSASN:{hi=0x0;lo=0x5b05b}>
<NSRunningApplication: 0x7fec21f2a550 (com.bandisoft.mac.bandizip.findersyncextension - 7086) LSASN:{hi=0x0;lo=0x5c05c}>
<NSRunningApplication: 0x7fec21f2a630 (com.apple.UserNotificationCenter - 7095) LSASN:{hi=0x0;lo=0x5d05d}>
<NSRunningApplication: 0x7fec21f2a710 (com.microsoft.edgemac - 7096) LSASN:{hi=0x0;lo=0x5e05e}>
<NSRunningApplication: 0x7fec21f2a7f0 (com.apple.dock.helper - 7775) LSASN:{hi=0x0;lo=0x63063}>
<NSRunningApplication: 0x7fec21f2a8d0 (com.apple.accessibility.universalAccessAuthWarn - 8417) LSASN:{hi=0x0;lo=0x64064}>
<NSRunningApplication: 0x7fec21f2a9b0 (com.apple.studentd - 8426) LSASN:{hi=0x0;lo=0x65065}>
<NSRunningApplication: 0x7fec21f2aa90 (com.apple.inputmethod.SCIM - 8817) LSASN:{hi=0x0;lo=0x6f06f}>
<NSRunningApplication: 0x7fec21f2ab70 (com.apple.locationmenu - 10060) LSASN:{hi=0x0;lo=0x7c07c}>
<NSRunningApplication: 0x7fec21f2ac50 (com.apple.LinkedNotesUIService - 11398) LSASN:{hi=0x0;lo=0x8d08d}>
<NSRunningApplication: 0x7fec21f2ad30 (com.bandisoft.mac.bandizip.findersyncextension - 12262) LSASN:{hi=0x0;lo=0xbe0be}>
<NSRunningApplication: 0x7fec21f2ae10 (com.tencent.xinWeChat.WeChatAppEx.helper.renderer - 12312) LSASN:{hi=0x0;lo=0xc10c1}>
<NSRunningApplication: 0x7fec21f2aef0 (com.apple.print.daemon.printtool - 19719) LSASN:{hi=0x0;lo=0xf70f7}>
<NSRunningApplication: 0x7fec21f2afd0 (com.tencent.xinWeChat.WeChatAppEx.WeApp - 26736) LSASN:{hi=0x0;lo=0x128128}>
<NSRunningApplication: 0x7fec21f2b0b0 (com.tencent.xinWeChat.WeChatAppEx.WeApp - 29628) LSASN:{hi=0x0;lo=0x14a14a}>
<NSRunningApplication: 0x7fec21f2b190 (com.apple.storeuid - 32862) LSASN:{hi=0x0;lo=0x153153}>
<NSRunningApplication: 0x7fec21f2b270 (com.microsoft.VSCode - 34942) LSASN:{hi=0x0;lo=0x168168}>
--- 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;
}
发布评论

评论列表(0)

  1. 暂无评论