调用:

DllCall("dll","返回值类型","函数名称"[,"类型1",参数1[,"类型n",参数n]])

参数:

dll -> 要使用的 DLL 文件名,例如 "user32.dll",也可使用由DllOpen获得的句柄。

返回值类型 -> 函数的返回值类型。

函数名称 -> 调用DLL文件里面的函数名称, 如: "MessageBox"或者使用序号。

类型 -> [可选参数]参数的数据类型。

参数 -> [可选参数]实参。

type n -> [可选参数] 参数的数据类型。

param n -> [可选参数] 实参。

值类型为:

none -> 没有值(仅用作无返回值函数的返回类型,这点跟C语言类似)。

BYTE -> 8 位(bit)整数。

BOOLEAN -> 无符号 8 位(bit)整数。

short -> 16 位整数。

USHORT -> 无符号16 位整数。

WORD -> 无符号16 位整数。

int -> 32 位整数。

long -> 32 位整数。

BOOL -> 32 位整数。

UINT -> 无符号 32 位整数。

ULONG -> 无符号 32 位整数。

DWORD -> 无符号 32 位整数。

INT64 -> 64 位整数。

UINT64 -> 无符号 64 位整数。

ptr -> 常规指针(void *)。

HWND -> 窗口句柄(指针)。

HANDLE -> 一个句柄(指针)。

float -> 单精度浮点指针数。

double -> 双精度浮点指针数。

INT_PTR, LONG_PTR, LRESULT, LPARAM -> 一个大型整数指针.(目前x86,x64版本AutoIt都可以使用)。

UINT_PTR, ULONG_PTR, DWORD_PTR, WPARAM -> 一个大型无符号整数指针.(目前x86,x64版本AutoIt都可以使用)。

str -> ANSI 字符串(不能超过 65536 个字符)。

wstr -> UNICODE 宽字符串(转换 到/从 ANSI 字符串,部分CALL需要). 不能超过 65536 字符。

* -> 传递一个其它类型(添加一个*到末尾.) 例如 "int*" 传递一个指针到 "int" 类型。

返回值:

成功 -> @error = 0

失败 -> 设置 @error

1 -> 不能使用这个DLL文件。

2 -> 未知"返回值"。

3 -> 未在DLL文件中找到这个"函数"。

4 -> 参数数量错误。

Windows API类型转换为AutoIt类型:

LPCSTR/LPSTR -> str

LPCWSTR/LPWSTR -> wstr

LPVOID -> ptr

LPxyz -> xyz*

HINSTANCE -> handle

HRESULT -> long

LONGLONG/LARGE_INTEGER -> INT64

ULONGLONG/ULARGE_INTEGER -> UINT64

SIZE_T -> ULONG_PTR

代码案例:DllCall("user32.dll", "int", "MessageBox", "hwnd", 0, "str", "这里是要描述的文字", "str", "这里是标题", "int", 0)

DllCall("user32.dll", "int", "MessageBox", "hwnd", 0, "str", "这里是要描述的文字", "str", "这里是标题", "int", 64)

autoit3转换php,AutoIt3调用动态链接库DLL相关推荐

  1. Unity调用动态链接库dll和so

    [001]Unity调用动态链接库dll和so  ApolloAR https://www.jianshu.com/p/f37bb72979a1 一.PC平台 (注:环境 VS2017+Unity20 ...

  2. VC++6.0如何创建与调用动态链接库(dll)

    VC++支持的DLL: DLL的编制与具体的编程语言及编译器无关,动态链接库随处可见,VC++支持三种DLL:非MFC动态库.MFC规则DLL和MFC扩展DLL.DLL导出函数(或变量.类)可供应用程 ...

  3. Matlab调用动态链接库DLL文件

    环境:vs2015.Matlab2020 VS2015中建立工程, 建立工程如下两图所示 在头文件和源文件中分别添加头文件和源文件(代码如下所示) 头文件matdll.h文件 #pragma once ...

  4. Qt生成调用动态链接库dll

    把编译好的包含函数和变量的目标代码存储到文件中,在链接的时候让链接程序自动从文件中查找需要的代码.这个文件就是链接库,又可以分为静态链接库和动态链接库. 1. 静态链接库 链接程序从库中寻找需要的符号 ...

  5. Windows 下 JNI 调用动态链接库 dll

    1. Java调用本地代码常见的两种方案 JNI JNI(Java Native Interface),有过不同语言间通信开发经历的一般都知道,它允许java和其他语言代码(尤其是C/C++)进行交互 ...

  6. 使用Matlab调用动态链接库dll

    1.下载.安装和配置环境变量MinGW-w64 C/C++ 1.1 下载网址 http://tdm-gcc.tdragon.net/download 1.2 默认地址安装 1.3 配置环境变量 新建系 ...

  7. 【专题】C#调用动态链接库DLL

    1.概述 动态链接库(Dynamic Linked Library):将写好的函数存在库中,以供其他程序开发调用,调用方式为"动态的".  Windows为应用程序提供了丰富的函数 ...

  8. Python调用动态链接库DLL文件

    目录 方法一.ctypes库方式 方法二.shell方式 方法一.ctypes库方式 使用ctypes库调用.这个方法网上一搜都是. import ctypes obj = ctypes.WinDLL ...

  9. autoit3转换php,AutoIt3 脚本函数用法中文说明

    AutoIt3 脚本函数用法中文说明 系统环境变量类 EnvUpdate ( ) ;更新环境变量 EnvGet ( "变量名称" ) ;取环境变量 ClipGet ( ) ;取剪辑 ...

  10. 制作和unity调用动态链接库dll文件

    首先用vc建立一个dll工程 然后在里面建立一个testunity.h文件.内容如下 1 extern "C" int _declspec(dllexport)testunity( ...

最新文章

  1. 【数学专题】矩阵乘法
  2. BZOJ 3576 江南乐
  3. ssh错误 server not ready for puppeth err=“ssh: handshake failed: ssh: unable to authenticate... 解决方法
  4. Linux hostname指令
  5. linux系统文件查找实验报告,Linux 文件查找与打包
  6. Synchronized总结
  7. 查询分析器下如何备份数据库
  8. 硬核干货来啦:Js数组去重,赶快收藏吧
  9. javascript模式 (3)——工厂模式和装饰模式
  10. 双活数据中心负载均衡理解
  11. jeecg-boot 官方文档v2.0快速开始之hello world 前端教程
  12. 动态修改 DHTML Gantt甘特图皮肤样式
  13. 女超人、女强人……究竟是谁在以“女”设限?
  14. 高德地图:点击获取火星坐标(经纬度)
  15. em算法 图像模糊检测_基于EM算法的眼底OCT图像反卷积去模糊技术
  16. A-286热加工/锻造
  17. 佛罗伦萨小镇与雅诗阁中国达成战略合作;日立电梯25年来为中国市场提供93万台电梯 | 美通企业日报...
  18. kali_linux 的简单美化,Kali_linux 的简单美化
  19. 用Excel玩转三维地球!
  20. 刚刚!建行数字人民币钱包正式上线

热门文章

  1. 长微博android,凑合着用吧:Android版长微博
  2. 720云VR全景支持入驻高德地图,打造新一代沉浸式文旅消费体验
  3. pg8168改mac命令_Realtek 8168网卡改MAC地址教程
  4. 白糖详细 制造工艺、等级划分、国家标准号和注意事项
  5. 佛说:前世的五百次回眸,才换来今生的一次擦肩而过
  6. 33暴力破解(MD5撞击)
  7. package.json scripts 脚本使用指南
  8. R语言使用pROC包的的plot.roc函数对单变量进行ROC分析并可视化ROC曲线、寻找最佳阈值(threshold、cutoff)、在可视化曲线中添加最佳阈值点
  9. Servlet生命周期详解
  10. win7桌面计算机图标去掉,win7桌面图标小箭头怎么去掉?