社区
C#
帖子详情
c#调用dll,怎么判定dll函数的返回值
h103966763
2010-04-28 09:16:44
int SetTransMode( int mode )
功能:
设置上位机通讯方式
参数:
mode: 通讯模式
1:以太网络
2:预约播放(将节目保存到SD卡)
3:串口
返回值:
0: 设置失败
1: 设置成功
dll的名称是ListenComm.dll 我需要调用这的dll里的SetTransMode方法,并判断返回值是0还是1
求高手帮忙写个代码,分不多谢谢
...全文
55
7
打赏
收藏
c#调用dll,怎么判定dll函数的返回值
int SetTransMode( int mode ) 功能: 设置上位机通讯方式 参数: mode: 通讯模式 1:以太网络 2:预约播放(将节目保存到SD卡) 3:串口 返回值: 0: 设置失败 1: 设置成功 dll的名称是ListenComm.dll 我需要调用这的dll里的SetTransMode方法,并判断返回值是0还是1 求高手帮忙写个代码,分不多谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhuazhuqingchong
2010-04-28
打赏
举报
回复
反编译看下你的dll,看下返回类型
h103966763
2010-04-28
打赏
举报
回复
呵呵……解决了!谢谢4楼
h103966763
2010-04-28
打赏
举报
回复
这个肯定能调用的
int a = LedControl.LedShow.SetTransMode(3);
if (a=0)
{
MessageBox.Show("chenggong");
}
else()
{
MessageBox.Show("shibai");
}
提示无法将int 隐式转换成bool
nbhx2010
2010-04-28
打赏
举报
回复
这个dll是C#写的了?
工程中将dll引用进来了
程序里
using ListenComm.dll;
代码用到的地方
int intValue = SetTransMode(mode);
if (intVlue == 0)
{
}
else
{
}
Teng_s2000
2010-04-28
打赏
举报
回复
C#中.的时候不就把返回值和参数列表全给显示了吗
捷哥1999
2010-04-28
打赏
举报
回复
1、首先这个dll是否是.net兼容语言编写的?如果是,添加引用,然后调用这个方法,比较简单。
2、如果这是一个非.net的dll,需要用到平台调用,不过我们一般的平台调用都是调用操作系统提供的API,你自己编写的API,可能不能用平台调用实现。
lee_b
2010-04-28
打赏
举报
回复
??什么意思?有返回值没有啊??知道dll要返回的是什么类型,你定义个类型接收不就知道了吗?
QT编写
DLL
调用
示例 方法 参数
返回值
事件回调
QT编写
DLL
给外部程序
调用
示例 方法 参数
返回值
事件回调 : 1:
C#
或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明
函数
必须与实际
DLL
中
函数
名及参数一致; [
Dll
Import "qt
dll
dll
" ] public static extern int add int i ; 第三步:
调用
函数
执行; Console WriteLine add 10 ToString ; 2:QT 第一步:引入头文件; #include <QLibrary> 第二步:定义
函数
指针 以备
调用
; typedef int Add int ; 第三步:载入
DLL
调用
函数
执行; QLibrary lib "qt
dll
dll
" ; lib load ; Add add Add lib resolve "add" ; add 50 ; 3:C或C++ 第一步:引入头文件; #include <windows h> 第二步:定义
函数
指针; typedef int Add int ; 第三步:载入
DLL
调用
函数
执行; HINSTANCE h
Dll
LoadLibrary "qt
dll
dll
" ; 载入
DLL
获取句柄 if h
Dll
NULL { Add add Add GetProcAddress h
Dll
"add" ; 获取
函数
地址 printf "%d" add 110 ; FreeLibrary h
Dll
; 释放
DLL
}">QT编写
DLL
给外部程序
调用
示例 方法 参数
返回值
事件回调 : 1:
C#
或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明
函数
必须与实际
DLL
中
函数
名及参数一致; [
Dll
Import "qt
dll
dll
" ] public static extern int add in [更多]
C#
调用
DLL
参数转换
数据封送是——在托管代码中对非托管
函数
进行互操作时,需要通过方法的参数和
返回值
在托管内存和非托管内存之间传递数据的过程,数据封送处理的过程是由CLR(公共语言运行时)的封送处理服务(即封送拆送器)完成的。
C#
调用
C++编写的
DLL
函数
各种参数传递问题
1. 不
返回值
的参数 C++ 原型: bool SendNewSms(char *szTel, char *szMessage);
C#
引用; [
Dll
Import( CdmaCard.
dll
,EntryPoint=SendNewSms)] public static extern bool SendNewSms(string phone,string msg); 2. 带
返回值
(char *) C++原型: BOOL GetCardErrorMessage(char *szErrorMessage , int
C#
调用
C++
DLL
传递结构体数组的终极解决方案
C#
调用
C++
DLL
传递结构体数组的终极解决方案 在项目开发时,要
调用
C++封装的
DLL
,普通的类型
C#
上一般都对应,只要用
Dll
Import传入从
DLL
中引入
函数
就可以了。但是当传递的是结构体、结构体数组或者结构体指针的时候,就会发现
C#
上没有类型可以对应。这时怎么办,第一反应是
C#
也定义结构体,然后当成参数传弟。然而,当我们定义完一个结构体后想传递参数进去时,会抛异常,或者是传入了结构体,但是
返回值
却不是我们想要的,经过调试跟踪后发现,那些值压根没有改变过,代码如下。 [
Dll
Import(workStation.
dll
)] private static extern bo
C#
API大全(doc)
C#
API大全,可供初学者参考使用~ 部分内容: 使用
C#
调用
windows API入门(一) 一:入门,直接从
C#
调用
DLL
导出 其实我们的议题应该叫做
C#
如何直接
调用
非托管代码,通常有2种方法: 1. 直接
调用
从
DLL
导出的
函数
。 2.
调用
COM 对象上的接口方法 我主要讨论从
dll
中导出
函数
,基本步骤如下: 1.使用
C#
关键字 static 和 extern 声明方法。 2.将
Dll
Import 属性附加到该方法。
Dll
Import 属性允许您指定包含该方法的
DLL
的名称。 3.如果需要,为方法的参数和
返回值
指定自定义封送处理信息,这将重写 .NET Framework 的默认封送处理。 好,我们开始 1.首先我们查询MSDN找到GetShortPathName的定义 The GetShortPathName function retrieves the short path form of the specified path. DWORD GetShortPathName( LPCTSTR lpszLongPath, LPTSTR lpszShortPath, DWORD cchBuffer );
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章