OSDN Git Service

comHelper.getActiveObject: uiAccess privileges also seem to cause issues when searchi...
authorJames Teh <jamie@jantrid.net>
Wed, 3 Apr 2013 04:16:59 +0000 (14:16 +1000)
committerJames Teh <jamie@jantrid.net>
Wed, 3 Apr 2013 04:16:59 +0000 (14:16 +1000)
source/comHelper.py

index 6dc5070..dde0cce 100644 (file)
@@ -15,6 +15,7 @@ import oleacc
 import config\r
 \r
 MK_E_UNAVAILABLE = -2147221021\r
+CO_E_CLASSSTRING = -2147221005\r
 \r
 def _lresultFromGetActiveObject(progid, dynamic):\r
        o = comtypes.client.GetActiveObject(progid, dynamic=dynamic)\r
@@ -30,7 +31,7 @@ def getActiveObject(progid, dynamic=False):
        try:\r
                return comtypes.client.GetActiveObject(progid, dynamic=dynamic)\r
        except WindowsError as e:\r
-               if e.winerror != MK_E_UNAVAILABLE:\r
+               if e.winerror not in (MK_E_UNAVAILABLE, CO_E_CLASSSTRING):\r
                        # This isn't related to privileges.\r
                        raise\r
        p = subprocess.Popen((config.SLAVE_FILENAME, "comGetActiveObject", progid, "%d" % dynamic),\r