CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请教:调用API的问题

楼主shihuazhai(zhai)2004-07-02 12:34:58 在 .NET技术 / C# 提问

在C#中   怎样直接调用API函数啊?     要添加什么引用?  
   
    例如API:WritePrivateProfileString();   参数省略了 问题点数:0、回复次数:3Top

1 楼zmgcj(真的名贵)回复于 2004-07-02 12:45:26 得分 0

C#   中操作API:    
   
    作为初学者来说,在C#中使用API确是一件令人头疼的问题。在使用API之间你必须知道如何在C#中使用结构、类型转换、安全/不安全代码,可控/不可控代码等许多知识。    
    一切从简单开始,复杂的大家一时不能接受。我们就从实现一个简单的MessageBox开始。首先打开VS.Net   ,创建一个新的C#工程,并添加一个Button按钮。当这个按钮被点击,则显示一个MessageBox对话框。    
    即然我们需要引用外来库,所以必须导入一个Namespace:    
    using   System.Runtime.InteropServices;    
   
    接着添加下面的代码来声明一个API:    
    [DllImport("User32.dll")]     public   static   extern   int   MessageBox(int   h,   string   m,   string   c,   int   type);    
   
    此处DllImport属性被用来从不可控代码中调用一方法。”User32.dll”则设定了类库名。DllImport属性指定dll的位置,这个dll中包括调用的外部方法。Static修饰符则声明一个静态元素,而这个元素属于类型本身而不是上面指定的对象。extern则表示这个方法将在工程外部执行,使用DllImport导入的方法必须使用extern修饰符。    
   
    MessageBox   则是函数名,拥有4个参数,其返回值为数字。    
   
    大多数的API都能传递并返回值。    
   
    添中Click点击事件代码:    
    protected   void   button1_Click(object   sender,   System.EventArgs   e)     {         MessageBox   (0,"API   Message   Box","API   Demo",0);     }    
   
   
    编译并运行这个程序,当你点击按钮后,你将会看到对话框,这便是你使用的API函数。    
  Top

2 楼Firestone2003(笨笨小猪)回复于 2004-07-02 12:51:17 得分 0

有几种方式  
  你查一查MSDN里的关于平台调用的相关信息就明白了Top

3 楼shihuazhai(zhai)回复于 2004-07-02 13:17:21 得分 0

感谢两位高手指导,特别感谢zmgcj(真的名贵)   ,精心指教Top

相关问题

  • Api调用
  • api调用
  • 如何调用API?
  • asp中调用api
  • 关于API调用
  • 新手调用api
  • 如何调用Win95的API
  • pb6.5中怎样调用API
  • sndPlaySound()API的调用问题?
  • VB咋样调用API

关键词

  • c#
  • 代码
  • 函数
  • api
  • dll
  • 调用
  • dllimport
  • messagebox
  • 按钮
  • 添加

得分解答快速导航

  • 帖主:shihuazhai

相关链接

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

广告也精彩

反馈

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