微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Python 中调用 initializeAccessBridge?

如何解决如何在 Python 中调用 initializeAccessBridge?

我尝试在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) 不起作用,任何人都可以帮助我它吗?

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),0):
            print('n')
            user32.TranslateMessageA(msg)
            print('p')
            user32.dispatchMessageA(msg)
        print('q')

t = MyThread()
t.start()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。