极客号

labview中如何调用api?winapi stdcall

labview中如何调用api?

1.打开LabVIEW,新建VI:程序框图-查看-控制选版-函数-互连接口-库与可执行程序-调用库函数节点;

labview中如何调用api?winapi stdcall-图1

2.双击打开“调用库函数节点”,库名/路径选择(C:\Windows\System32\user32.dll)函数;

3.函数名:GetSystemMetrics(该函数是获取显示器Screen的高度height*宽度Width);线程:在UI线程中运行;调用规范:stdcall(WINAP);

4.WIN API的函数原型都可以从MSDN获取帮助,如:int WINAPI GetSystemMetrics(

labview中如何调用api?winapi stdcall-图2

_In_ int nIndex

);

5.根据MSDN的函数原型设置函数返回值:1,名称:screenWidth,类型:数值,数据类型:有符号32位整数;

labview中如何调用api?winapi stdcall-图3

6.根据MSDN的函数原型设置输入参数:1,名称:parameter,类型:数值,数据类型:有符号32位整数;

7.当parameter=0,GetSystemMetrics输出屏幕Screen的width;

当parameter=1,GetSystemMetrics输出屏幕Screen的height;

DELPHI写,标准接口DLL?

Delphi写标准DLL接口,函数生命必须是 stdcall,否则在VB中将无法调用。function OPENHE(b: Integer): integer; stdcall;var i: Integer;begin Result := b + i;end;VB 函数声明和调用Public Declare Sub OPENHE Lib "Project1" (ByVal b As Long) as Long

汇编RETN 4是什么意思?

retn表示return near,与之对应的是retf

n没有恢复段的过程,retf有个除了pop ip以外还会pop cs

不管是retn还是rentf,后面带的数字是在执行完ret指令以后sp增加的字节数

默认ret相当于ret 0

retn4 4 相当于pop ip,add sp, 4,也就是在返回的同时释放了参数使用的栈空间,windows api中常见的stdcall就是这种调用形式,所以省去了函数调用外的一条add指令

比如一般的,在调用函数时

push 123 ; 参数

call foo

add sp, 2 ; 或者pop ax

大家能不能谈谈Delphi调用外部,如:Dll?

1. 首先将dll文件放到运行程序目录下面,或是是windows\system32 下面。

2. 在 unit 里,引入dll中的函数(使用哪个函数就引入哪个),示例如下:implementation{$R *.DFM}procedure init;stdcall;External 'test.dll'; //在此声明引入dll函数,注意dll与程序在同一路径下

到此,以上就是小编对于的问题就介绍到这了,希望介绍的4点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

本站非盈利性质,与其它任何公司或商标无任何形式关联或合作。内容来源于互联网,如有冒犯请联系我们立删邮箱:83115484#qq.com,#换成@就是邮箱

转载请注明出处:http://www.hushtel.com/sm/10412.html

分享:
扫描分享到社交APP
上一篇
下一篇