在C#中,想调用其他开发环境的DLL内的函数
2008-06-04 16:55
549 查看
在C#中,想调用其他开发环境的DLL内的函数
方法一:(以Excel为例,调用Com对象)
第一步:
在项目的引用节点单击右键,在弹出的菜单中单击添加引用...
在弹出的对话框中单击COM项,找到Microsoft Excel 11.0 Object Library
并单击选中,然后单击选择按钮。
第二步:
引用Excel2003后,会在引用节点中增加Excel等节点,也就是把Com生成了.net能理解的程序集。
进入项目的bin/Debug目录可以看到,相应的增加了
Interop.Excel.dll等库文件,它们都是.Net将 COM 类型库中的
类型定义转换为.Net公共语言运行库程序集中的等效定义生成的文件。
方法二:
以上是可视化自动生成com对应的程序集,也可以用如下的方法生成。
打开Visual Studio .Net2003命令提示,运行
TlbImp 你的原来dll 命一个新的名字.dll
然后在工程的引用节点添对“命一个新的名字.dll”的引用,就可以使用了。
还有一种引用API函数(using System.Runtime.InteropServices)
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
例:
StringBuilder temp = new StringBuilder(200);
string FileName = "C://desck.ini";//NI文件的完整的路径和名称。
string section = txtRegedit.Text;//INI文件中的段落
string key = txtuser.Text;//INI文件中的关键字
string keyValue = txtpwd.Text;//INI文件中的关键字
int i = GetPrivateProfileString(section, key, "无法读取对应数值!", temp, 200, FileName);//判断是否注册过
if (temp.ToString() == "无法读取对应数值!")
{
WritePrivateProfileString(section, key, keyValue, FileName);
MessageBox.Show("注册成功写入INI文件!", "信息");
}
else
{
MessageBox.Show("此信息已注册过了");
}
方法一:(以Excel为例,调用Com对象)
第一步:
在项目的引用节点单击右键,在弹出的菜单中单击添加引用...
在弹出的对话框中单击COM项,找到Microsoft Excel 11.0 Object Library
并单击选中,然后单击选择按钮。
第二步:
引用Excel2003后,会在引用节点中增加Excel等节点,也就是把Com生成了.net能理解的程序集。
进入项目的bin/Debug目录可以看到,相应的增加了
Interop.Excel.dll等库文件,它们都是.Net将 COM 类型库中的
类型定义转换为.Net公共语言运行库程序集中的等效定义生成的文件。
方法二:
以上是可视化自动生成com对应的程序集,也可以用如下的方法生成。
打开Visual Studio .Net2003命令提示,运行
TlbImp 你的原来dll 命一个新的名字.dll
然后在工程的引用节点添对“命一个新的名字.dll”的引用,就可以使用了。
还有一种引用API函数(using System.Runtime.InteropServices)
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
例:
StringBuilder temp = new StringBuilder(200);
string FileName = "C://desck.ini";//NI文件的完整的路径和名称。
string section = txtRegedit.Text;//INI文件中的段落
string key = txtuser.Text;//INI文件中的关键字
string keyValue = txtpwd.Text;//INI文件中的关键字
int i = GetPrivateProfileString(section, key, "无法读取对应数值!", temp, 200, FileName);//判断是否注册过
if (temp.ToString() == "无法读取对应数值!")
{
WritePrivateProfileString(section, key, keyValue, FileName);
MessageBox.Show("注册成功写入INI文件!", "信息");
}
else
{
MessageBox.Show("此信息已注册过了");
}
相关文章推荐
- C#开发COM组件供其他开发环境或工具调用介绍
- C#开发COM组件供其他开发环境或工具调用介绍(转)
- 在非VS环境下C++ Builder,Delphi,VC,VB等调用C#开发的DLL的完整方法
- C#调用dll中的函数
- IronPython调用C# DLL函数方法
- c#调用c++封装dll 参数为字符串输出函数的解决办法
- 如何生成DLL文件并导出函数及如何在C++或C#中调用DLL中导出的函数
- VS2010使用C#调用C++编写的dll,在其他电脑上无法运行的解决办法
- C# 调用Dll中非托管C++代码时,函数参数的类型对照
- C#音频开发之winmm.dll函数汇总
- C# 如何调用 C++ DLL中的函数接口和回调函数
- 其他开发语言(如C#) 调用 FastReport 报表的方法源代码
- C#调用VC DLL接口函数参数类型转换方法介绍
- VS开发环境下生成和调用dll出现的问题和解决方法-1
- C#调用VC的DLL的接口函数参数类型转换一览表_蓝竹傲雪
- (转)C#调用dll中的函数
- C#静态调用C++Dll导出函数,并在C++Dll中回调C#函数
- 我用C#调用C编译的dll中有这样一个函数,函数大概的功能就是把数据保存到buf缓冲区中:
- 在C#中动态调用native dll的导出函数
- 【windows8开发】回复g10589119提出的问题(c#调用C++/CX dll)