0

我尝试在Python中导入windowsaccessbridge-64.dll,当调用函数initializeAccessBridge时,它说找不到,如何纠正下面的代码?

import  ctypes as a
b = a.windll.LoadLibrary(r"C:\XXX\windowsaccessbridge-64.dll")
print(b.isJavaWindow)                   #<_FuncPtr object at 0x000001C6XXX>
print(b.Windows_run)                    #<_FuncPtr object at 0x000001C6XXX>
print(b.shutdownAccessBridge)   #not found
print(b.initializeAccessBridge)         # not found

代码修改如下,AccessBridgeCalls.so被编译并创建了一个消息泵循环,在这个循环中flag = So_accessbridge.initializeAccessBridge()总是返​​回0,所以下面的代码while user32.GetMessageA(ctypes.byref(msg), None, 0, 0)不起作用,有人可以帮我吗?

import  ctypes
import  ctypes.wintypes
#from threading import Thread
import threading
user32 = ctypes.windll.user32

Dll_accessbridge = ctypes.windll.LoadLibrary(r"C:\XXX\windowsaccessbridge-64.dll")
So_accessbridge = ctypes.windll.LoadLibrary(r"C:\XXX\AccessBridgeCalls.so")

class MyThread(threading.Thread):
    def run(self):
        msg = ctypes.wintypes.MSG()
        flag = So_accessbridge.initializeAccessBridge()
        print('flag = ' + str(flag)) #flag = 0
        while user32.GetMessageA(ctypes.byref(msg), None, 0, 0):
            print('n')
            user32.TranslateMessageA(msg)
            print('p')
            user32.DispatchMessageA(msg)
        print('q')

t = MyThread()
t.start()
4

0 回答 0