免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9499 | 回复: 10

求助!Perl 调用动态链接库的方法!!! [复制链接]

论坛徽章:
0
发表于 2019-01-30 11:39 |显示全部楼层
下图中是关于动态链接库接口函数的使用描述,
请教各位大侠,
用perl要怎么写呢?!!!谢谢!!!
动态库调用方法.jpg

论坛徽章:
0
发表于 2019-01-30 16:31 |显示全部楼层
自己先顶一个了,请大神帮忙看看了!!!

论坛徽章:
0
发表于 2019-01-30 20:55 |显示全部楼层
执行下面代码后老是输出:Can't import api
是代码哪里有问题吗? 求高手指教!!!

use Win32::API;

$dllpath = "./Control_Dll.dll";

    $OpenDevice = new Win32::API(
       $dllpath, "DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved)");
   
    if (not defined $OpenDevice)
    {
            die"Can't import api\n";
    }

论坛徽章:
0
发表于 2019-02-07 21:51 来自手机 |显示全部楼层
前阵子单位上要和社保通信,要调用社保的dll,我用的win32:le搞定了。看看cpan上的例子,照着做。

论坛徽章:
0
发表于 2019-02-07 21:51 来自手机 |显示全部楼层
前阵子单位上要和社保通信,要调用社保的dll,我用的win32:le搞定了。看看cpan上的例子,照着做。

论坛徽章:
0
发表于 2019-02-07 21:51 来自手机 |显示全部楼层
前阵子单位上要和社保通信,要调用社保的dll,我用的win32:le搞定了。看看cpan上的例子,照着做。

论坛徽章:
0
发表于 2019-02-07 21:51 来自手机 |显示全部楼层
前阵子单位上要和社保通信,要调用社保的dll,我用的win32:le搞定了。看看cpan上的例子,照着做。

论坛徽章:
0
发表于 2019-02-07 21:53 来自手机 |显示全部楼层
平板发贴,怎么一下发那么多遍。win32 :: ole这个

论坛徽章:
0
发表于 2019-02-09 19:41 |显示全部楼层
本帖最后由 leezhang 于 2019-02-09 19:43 编辑

回复 8# perltest

您好,我是新手,看的不是很理解,能帮忙提供个例子吗,只要截取调用的那块就可以了。谢谢!!!

论坛徽章:
0
发表于 2019-02-10 21:42 |显示全部楼层
我这里的情况是这样,电脑安装社保软件,注册sei3.dll,之后就可以在Perl里通过Win32::OLE调用dll了
下载是一个简单的例子

  1. #!"D:\Strawberry\perl\bin\perl"

  2. use Win32::OLE;
  3. $sei = CreateObject Win32::OLE 'sei3' or die $!;
  4. $vi =  $sei->connecttonewobject('sei3');

  5. # 社保接口初始化
  6. $sei->resetvar();
  7. $sei->putvarstring('sbjgbh','37088101');
  8. $sei->putvarstring('yybm','088139');
  9. $sei->putvarstring('gzrybh','1234');
  10. $sei->putvarstring('pwd','1234');
  11. $vi = $sei->request_service('init');

  12. if ($vi ne '0')
  13. {
  14. $errtext = $sei->get_errtext();
  15. }
  16. print "$errtext \n";


  17. # 判断参保人员是否异地
  18. $sei->putvarstring('grbh',"$grbh");   # 个人编号
  19. $sei->putvarstring('xm',"$xm");
  20. $sei->putvarstring('yltclb','4');
  21. $sei->putvarstring('sbjgbh','37088101');
  22. $vi = $sei->request_service('query_person_info');

  23. if ($vi eq '0')
  24. {
  25. $ydbz = $sei->getvarstring('ydbz');

  26. if ($ydbz eq '1')
  27. {
  28.    print "$xm  $grbh 异地标志:$ydbz \n";
  29. }
  30. }
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP