arezhe 发表于 2009-10-9 20:58:08

用Call Library Function Node.vi,,调用SHELL32.DLL,具体该如何设置?

用Call Library Function Node.vi,,调用SHELL32.DLL,想实现发现U盘插入并弹出对话框的功能 。具体该如何设置呢?谢谢各位大侠了。

飞雨天 发表于 2009-10-10 13:08:24

LV是面向测控领域的,虽然正努力向通用编程软件靠拢,不过不是一个朝夕就能达到的事情,所以,在LV上,有提供dll接口,用来和其它语言进行通讯。原则上说,只要某语言能把程序模块编译为dll的,那么,就可以在lv中调用。

具体到你的问题,很当然的,lv没有提供你需要的vi,所以,dll调用成为一个很自然的选择。在windows下面,最大的dll库就是windows操作系统提供的那些api,分装在user32.dll,shell32.dll等中,这个你可以去参考下win32编程的书籍,比如罗云斌的win32下汇编程序设计,不要了解太细,一个大概就可以了。

从书籍中,或者从baidu中,你就知道你要调用shell32里的哪个api,然后下个vc的精简版MSDN,找到这个api的原型声明和一些使用注意事项,基本就可以在lv中使用了。而在lv中如何调用dll,这个有教程,随lv安装的。

其实我略去了很重要的一部分,很多人就是在这一步上过不去,就是一个类型转化的问题。windows的api是用c写的,有很多的数据结构lv并没有直接支持,所以,需要做一个转化,这个转化的成功,是基于你对数据在c和lv下表达细节的掌握,在lv下的数据存储,是有文档的,随lv安装。

MSDN在线:http://msdn.microsoft.com/en-us/library/aa363215(VS.85).aspx

arezhe 发表于 2009-10-10 18:10:00

非常感谢版主的解答。
页: [1]
查看完整版本: 用Call Library Function Node.vi,,调用SHELL32.DLL,具体该如何设置?