CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

DLL文件用什么c#可以打开吗?

楼主19820826lxy(李宇)2005-07-20 15:37:28 在 .NET技术 / C# 提问

DLL文件用什么软件可以打开 问题点数:10、回复次数:17Top

1 楼19820826lxy(李宇)回复于 2005-07-20 15:40:11 得分 0

upTop

2 楼wingnal(清淡天和)回复于 2005-07-20 15:55:18 得分 0

反编译软件Top

3 楼ivorstar(单击此处留言)回复于 2005-07-20 15:58:38 得分 0

其实用记事本就能打开,但是看不懂,呵呵,玩笑。  
   
  在VS.NET里添加对dll一个引用后,运气好的话,在对象浏览器里能看到可供调用的函数,但是源码什么的是不要想了。(不是所有的Dll文件都能看到的)  
  记得以前也有问这个的,可以参考Top

4 楼rainlake(rainlake)回复于 2005-07-20 16:15:50 得分 0

Reflector.exeTop

5 楼lm517(男一号)回复于 2005-07-20 16:42:29 得分 0

不知道,帮顶Top

6 楼stringbuilder(~~~叶赫拉那.易卜拉欣.海豚~~~)回复于 2005-07-20 16:56:54 得分 0

只有。NET做的DLL是可以用C#打开的,如果是VC写的就没有希望了!只有反编译!Top

7 楼lovvver(ElephantTalk.Bright)回复于 2005-07-20 16:57:01 得分 0

一般编辑软件看不了的。  
  最好用Reflector,反编译后再看,比较好。Top

8 楼lovvver(ElephantTalk.Bright)回复于 2005-07-20 16:57:51 得分 0

只有。NET做的DLL是可以用C#打开的?  
  可以吗,我怎么打不开啊?Top

9 楼okyzx(Jason)回复于 2005-07-20 19:52:53 得分 0

用ildasm,可以看Top

10 楼chenzhanyiczy(hi)回复于 2005-07-20 20:34:20 得分 0

Reflector,你想看IL,用ildasmTop

11 楼19820826lxy(李宇)回复于 2005-07-29 09:05:39 得分 0

UPTop

12 楼readersm68(地主)回复于 2005-07-29 09:24:29 得分 0

Reflector.exeTop

13 楼gezp(玛尔帝尼)回复于 2005-07-29 09:34:12 得分 10

反编译软件Top

14 楼deardoris(so cute,so sweet)回复于 2005-07-29 09:35:31 得分 0

反编译后才能打开Top

15 楼lgr0727(特立独行的猪)回复于 2005-07-29 09:39:00 得分 0

Reflector.exe  
  Top

16 楼woyaoying(凉爽的风)回复于 2005-07-29 09:59:04 得分 0

RomoteSoft公司的DeCompiler也挺不错的,当然你的Dll文件必须是托管的。Top

17 楼kaixin110(kydk.com)回复于 2005-07-29 10:02:38 得分 0

我们可以COM   Interop或者Pinvoke来使用这个DLL。如果这个DLL是个COM组件,那么我们可以通过VS.net的reference导入这个COM   组件。VS.Net内部的interop   importer会自动帮我们生成一个interop   assembly。这样我们就可以在C#中直接使用了。  
   
  如果这个组件是个普通的DLL,我们可以把它copy到编译出来的exe文件所在目录,或者windows目录下,然后使用PInvoke技术即可调用它提供的API。  
   
  以下的MSDN文章为您介绍了这些应用:  
  An   Overview   of   Managed/Unmanaged   Code   Interoperability  
  http://msdn.microsoft.com/library/en-us/dndotnet/html/manunmancode.asp  
   
  P/Invoke   Revisited  
  http://msdn.microsoft.com/msdnmag/issues/04/10/NET/  
   
  您看了我推荐给您的文章就会了。我们只要直接引用这个DLL提供的方法就可以了。不用看源代码的。比如我们要调用Win32API   MessageBox  
  [DllImport("user32.dll",   CharSet=CharSet.Auto)]  
  public   static   extern   int   MessageBox(IntPtr   hWnd,   String   text,   String   caption,   uint   type);  
   
   
  您好,  
   
  “人家只给一个dll,不给源码”  
  您说的没有错,我们只要调用DLL提供的接口就可以了。不用源代码的。  
   
  .Net可以直接调用DLL的接口,不光是系统提供的Win32   API,我们自己的DLL也可以使用。比如,我有一个DLL(MYDll.dll),提供了一个Export   的function  
  int   func(void)  
   
  只要把这个DLL和您的exe文件放在同一个目录下面,然后在代码中声明为:  
  [DllImport("MyDLL.dll")]  
  extern   static   int   func();  
   
  即可使用。  
   
  .Net   framework会自动找到这个DLL的,然后调用它导出的方法。  
   
  如果您不知道这个DLL导出了多少方法,您可以使用Platform   SDK中提供的Depends工具来查看这个DLL。Platform   SDK的下载地址为:  
  http://www.microsoft.com/msdownload/platformsdk/sdkupdate/  
   
  Depends.exe位于安装目录的\bin子目录下:  
  C:\Program   Files\Microsoft   Platform   SDK\Bin\depends.exe  
   
  该工具导出的function名字位于右边中间的列表框。  
   
  另外,有两种情况,我们对于这个DLL不能用这种方法:  
  1.   如果您的DLL没有导出function的名字,只导出了function的编号  
  2.   如果这个DLL是个COM组件  
  Top

相关问题

  • 如何打开*.dll文件??
  • 如何用C打开远端文件?
  • C文件用什么打开呢?
  • 关于dll文件如何打开
  • C#里,怎样引用.DLL文件?
  • 发布C#需要哪些DLL文件?
  • 在C#中如何调用.dll文件
  • 怎样用C语言编.dll文件?
  • 如何在C中调用.dll文件?
  • c#中dll文件如何使用

关键词

  • c#
  • vs.net
  • dll
  • 文件
  • 编译
  • 组件
  • 软件
  • vs
  • sdk
  • microsoft

得分解答快速导航

  • 帖主:19820826lxy
  • gezp

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo