如何使用Python 3.6.3从voidptr中获取数据

时间:2017-11-13 11:17:27

标签: python-3.x

您好我的问题是从sip.voidptr获取我的数据。 在我使用Python 2.7和这段代码之前:

 def winEvent(self, message):

        WM_COPYDATA = 0x004A

        if message.message == WM_COPYDATA:

            if sys.version.find("64 bit") != -1:
                structure = ctypes.string_at( message.lParam, 24 ) 
                data = struct.unpack("QQP", structure)

            unused, str_len, str_adr = data

            my_string = ctypes.string_at( str_adr, str_len )

现在我使用Python 3并从“winevent”更改为“event_Type”。 有没有人有想法或示例如何从sip.voidptr中获取数据?

我得到的错误按摩是:

File "C:\OSGEO4~1\apps\Python36\lib\ctypes\__init__.py", line 488, in string_at
return _string_at(ptr, size)

OSError:异常:访问冲突读取0x0000000000000001

之前我得到my_string:

名称ID

1 1_2

2 1_3

3 1_4

4 1_5

0 个答案:

没有答案