由于找不到python37.dll,python376安装教程

  由于找不到python37.dll,python376安装教程

  先贴停工截图。

  的具体函数定义如下

  //获取二维码

  //参数

  //对象接口指针对象

  //结果二级指针,返回字符串的执行结果和执行结果。

  int WINAPI getqr code(void * * object,char * * result);

  我的python代码

  #先前的代码被忽略。wx_user已经创建,没有问题。

  缓冲区=创建字符串缓冲区(3000)

  结果=lib。GetQRCode(wx_user,buffer)

  # result=lib。GetQRCode(wx_user,指针(缓冲区))

  # result=lib。GetQRCode(wx_user,addressof(buffer))

  因为传入的第二个参数是可写的,所以创建了一个可写的缓冲区,希望dll把字符串写到这个指针所指向的内存中,然后我通过python把它读出来,这样就可以传出来一个字符串,而不是返回值。

  但是我尝试了很多方法,包括代码中的三种,以及设置参数和返回值类型的方式,这些都会导致python在编写时停止运行。

  查询异常代码,可能是写内存时的问题导致的(越界或其他错误)。

  但是这种创建buffer的方法在官方文档中是有的,只有这个函数可以创建可写内存。

  我还找到了用其他语言调用这个函数的方法。C#是一个整数值的直接输入。经过调试,我可以看到它应该是一个整数形式的内存地址。易语言是一个整型变量的地址。这两种方法都可以成功调用。我也用python模拟了两个方法,但是都不能成功调用。

  所以想问问有没有用ctypes量的大佬,帮我看看。谢谢您们。

  附:dll只有api文档,没有源代码,只能通过文档调用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: