入门问题,希望大家积极发言,来者有分!!! 请参考:用Visual C#调用Windows API函数http://www.ccw.com.cn/htm/app/aprog/01_9_14_4.asp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者你可以用东西把那个打成com组件没,在.net里面一样可以用 http://www.chinabyte.net/20030102/1646672.shtml希望对你有用! 假如我要调用一个api,其中一个参数是char **类型的,我在c#里该如何调用呢?_____________________________________________________________________用stringbuilder,它是字符串组类型,做为api函数参数时,也是提交一个地址,很符合楼主的要求! c#和c++里面的类型,不是一一对应的,要看它最终需要什么,比如字符串 ? 地址? 数值?有时候,可以有好多类型对应它的! 你多试几个就知道了!如果是字符串,可以用一个结构体,用stringbuilder是最简单方式! c#中调用windows api跟vc中的api调用,固定参数类型的机制不太相同! 要看那个api函数实质上需要什么样的参数,才可以对应给出c#的参数!如果是要修改的,一半传地址给api函数,比如可以用out或者intptr类型,或者就是用这种传递引用的数值类型。如果是不需要修改的,只要给一些传递值的数据类型给它就是了! 另调用windows api的基本方法为:在类文件的最上方加上[DllImport("user32.dll(也可能是其他的dll,甚至是你自己做的c++ dll)", EntryPoint="api函数")] public static extern int api函数( 参数列表);然后在其他地方,就可以引用这个函数了,就好像是一个普通的外部函数一样!记得最上面添加using System.Runtime.InteropServices;using System.Text;不然识别不聊dllimport方法,也不能识别stringbuilder类! 添加对dll的引用,用对象浏览器看看就摆平了 添加相应的dll,不过推荐新的工程,不考虑兼容性的话尽量不要用api编程。 框架中已包含了大量的API功能。尽量使用.net中新提供的函数,少使用API。 可以用DLLImport ,但能不用API尽量不要用了 装个msdn在本地不就可以查看了[DllImport("xxx.dll")]public static extern int name(string x,stringy);就是这样子了.就可以使用了,不过还有参数,上网上找找资料吧! WinForm怎么实现ftp文件管理 C#退出调试很卡 Ubuntu的安装问题 关于Debug和Release模式的疑问 每隔5秒执行一次函数,执行10分钟,提示错误 多线程弹出窗体跟关闭窗体的异常 向ArrayList中添加对象后,再怎么调用呢 一个FileStream的文件 怎么检测一参数中含有数字? FileMode各成员之间的区别! 求C#函数及其用法(详细) 一下线程里的TIMER问题,为什么TIMER执行了2、3分钟就不运行了?
希望对你有用!
c#和c++里面的类型,不是一一对应的,要看它最终需要什么,比如字符串 ? 地址? 数值?有时候,可以有好多类型对应它的! 你多试几个就知道了!如果是字符串,可以用一个结构体,用stringbuilder是最简单方式! c#中调用windows api跟vc中的api调用,固定参数类型的机制不太相同! 要看那个api函数实质上需要什么样的参数,才可以对应给出c#的参数!如果是要修改的,一半传地址给api函数,比如可以用out或者intptr类型,或者就是用这种传递引用的数值类型。如果是不需要修改的,只要给一些传递值的数据类型给它就是了!
另调用windows api的基本方法为:在类文件的最上方加上[DllImport("user32.dll(也可能是其他的dll,甚至是你自己做的c++ dll)", EntryPoint="api函数")]
public static extern int api函数( 参数列表);然后在其他地方,就可以引用这个函数了,就好像是一个普通的外部函数一样!记得最上面添加using System.Runtime.InteropServices;
using System.Text;
不然识别不聊dllimport方法,也不能识别stringbuilder类!
尽量使用.net中新提供的函数,少使用API。
public static extern int name(string x,stringy);就是这样子了.就可以使用了,不过还有参数,上网上找找资料吧!