返回顶部
首页 > 资讯 > 精选 >C#中怎么操作Win32 API函数
  • 135
分享到

C#中怎么操作Win32 API函数

2023-06-17 22:06:09 135人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关C#中怎么操作Win32 api函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#操作Win32 API函数C#并不像c++,拥有属于自己的类库。C#使用的类

这篇文章将为大家详细讲解有关C#中怎么操作Win32 api函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

C#操作Win32 API函数

C#并不像c++,拥有属于自己的类库。C#使用的类库是.net框架为所有.Net程序开发提供的一个共有的类库——.Net FrameWork SDK。虽然.Net FrameWork SDK内容十分庞大,功能也非常强大,但还不能面面俱到,至少它并没有提供直接操作INI文件所需要的相关的类。在本文中,C#操作Win32 API函数——WritePrivateProfileString()和GetPrivateProfileString()函数。这二个函数都位于“kernel32.dll”文件中。

我们知道在C#中使用的类库都是托管代码(Managed Code)文件,而Win32的API函数所处的文件,都是非托管代码(Unmanaged Code)文件。这就导致了在C#中不可能直接使用这些非托管代码文件中的函数。好在.Net框架为了保持对下的兼容,也为了充分利用以前的资源,提出了互操作,通过互操作可以实现对Win32的API函数的调用。互操作不仅适用于Win32的API函数,还可以用来访问托管的COM对象。C#中对 Win32的API函数的互操作是通过命名空间“System.Runtime.InteropServices”中的“DllImport”特征类来实现的。它的主要作用是指示此属性化方法是作为非托管DLL的输出实现的。下面代码就是在C#利用命名空间 “System.Runtime.InteropServices”中的“DllImport”特征类申明上面二个Win32的API函数:

C#操作Win32 API函数:

[ DllImport ( "kernel32" ) ]  private static extern long WritePrivateProfileString ( string  section ,  string key , string val , string filePath ) ;

参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。

C#申明INI文件的读操作函数GetPrivateProfileString():

[ DllImport ( "kernel32" ) ]  private static extern int GetPrivateProfileString ( string section ,  string key , string def , StringBuilder retVal ,  int size , string filePath ) ;

参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;def:无法读取时候时候的缺省数值;retVal:读取数值;size:数值的大小;filePath:INI文件的完整路径和名称。

下面是一个读写INI文件的类

  1. public class INIClass  

  2. {  

  3. public string inipath;  

  4. [DllImport("kernel32")]  

  5. private static extern long WritePrivateProfileString
    (string section,string key,string val,string filePath);  

  6. [DllImport("kernel32")]  

  7. private static extern int GetPrivateProfileString
    (string section,string key,string def,StringBuilder retVal,int size,string filePath);  

  8. ///  

  9. /// 构造方法  

  10. ///  

  11. /// 文件路径  

  12. public INIClass(string INIPath)  

  13. {  

  14. inipath = INIPath;  

  15. }  

  16. ///  

  17. /// 写入INI文件  

  18. ///  

  19. /// 项目名称(如 [TypeName] )  

  20. /// 键  

  21. /// 值  

  22. public void IniWriteValue(string Section,string Key,string Value)  

  23. {  

  24. WritePrivateProfileString(Section,Key,Value,this.inipath);  

  25. }  

  26. ///  

  27. /// 读出INI文件  

  28. ///  

  29. /// 项目名称(如 [TypeName] )  

  30. /// 键  

  31. public string IniReadValue(string Section,string Key)  

  32. {  

  33. StringBuilder temp = new StringBuilder(500);  

  34. int i = GetPrivateProfileString(Section,Key,"",temp,500,this.inipath);  

  35. return temp.ToString();  

  36. }  

  37. ///  

  38. /// 验证文件是否存在  

  39. ///  

  40. /// 布尔值  

  41. public bool ExistINIFile()  

  42. {  

  43. return File.Exists(inipath);  

  44. }  

  45. }  

关于C#中怎么操作Win32 API函数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: C#中怎么操作Win32 API函数

本文链接: https://lsjlt.com/news/294068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中怎么操作Win32 API函数
    这篇文章将为大家详细讲解有关C#中怎么操作Win32 API函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#操作Win32 API函数C#并不像C++,拥有属于自己的类库。C#使用的类...
    99+
    2023-06-17
  • C++中怎么操作静态成员函数
    C++中怎么操作静态成员函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员,如果C++静态成员函数...
    99+
    2023-06-17
  • python 文件操作api(文件操作函数)
    python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:...
    99+
    2022-06-04
    操作 文件 函数
  • ubuntu12.04使用C API操作数据库
    准备:   系统:     ubuntu12.04    工具:   &nb...
    99+
    2024-04-02
  • C#中怎么实现构造函数的复制操作
    今天就跟大家聊聊有关C#中怎么实现构造函数的复制操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#复制构造函数的编写代码:class Person  ...
    99+
    2023-06-18
  • c#中怎么操作sqlite数据库
    在C#中操作SQLite数据库需要引用System.Data.SQLite命名空间,然后使用SQLiteConnection和其他相...
    99+
    2024-04-09
    sqlite c#
  • C/C++ 使用 MySQL API 操作 数据库 (API讲解 、案例分享)
    C/C++ 对 MySQL API 的使用 简介 文章目录 C/C++ 对 MySQL API 的使用简介1. C/C++ 使用 API介绍2. C/C++ 环境配置和操作示例代码2.1 My...
    99+
    2023-09-11
    mysql c++ visual studio
  • C#中怎么操作Access
    这期内容当中小编将会给大家带来有关C#中怎么操作Access,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。using System;  using System.D...
    99+
    2023-06-17
  • C++中怎么操作RTTI
    本篇文章为大家展示了C++中怎么操作RTTI,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、RTTI典型的应用需求 类型的识别,即能在运行时判断出某对象、表达式等的类型,能判断它们是基本类型(in...
    99+
    2023-06-17
  • C/C++文件的操作函数介绍
    这篇文章主要介绍“C/C++文件的操作函数介绍”,在日常操作中,相信很多人在C/C++文件的操作函数介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C/C++文件的操作函数介绍”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-17
  • C#中怎么创建和操作数组
    在C#中,您可以使用以下方式创建和操作数组: 创建数组: int[] numbers = new int[5]; // 创建一个...
    99+
    2024-03-07
    C#
  • 如何使用C++中的文件操作函数?
    C++是一门流行的编程语言,它提供了许多有用的函数和库来帮助开发者处理各种任务。其中,文件操作函数是我们经常需要使用的,因为文件是我们存储数据和信息的主要方式之一。在本文中,我们将介绍如何使用C++中的文件操作函数来读取、写入、添加、删除和...
    99+
    2023-11-18
    文件操作函数 C++中的文件操作 使用文件函数
  • excel函数求和怎么操作
    这篇文章主要介绍“excel函数求和怎么操作”,在日常操作中,相信很多人在excel函数求和怎么操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”excel函数求和怎么操作”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-02
  • C语言中怎么操作sqlite3数据库
    这篇文章给大家介绍C语言中怎么操作sqlite3数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。数据库本篇假设数据库为my.db,有数据表student。nonamescore4一口Linux89.0创建表格语句如...
    99+
    2023-06-16
  • C#怎么操作Access数据库
    本篇内容主要讲解“C#怎么操作Access数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么操作Access数据库”吧!C#操作Access数据库之SELECT操作是如何的呢,...
    99+
    2023-06-17
  • c++中怎么用CreatePipe()函数操纵控制台
    在C++中,可以使用CreatePipe函数来创建一个管道,并将其连接到控制台输入和输出。下面是一个使用CreatePipe函数操纵...
    99+
    2023-10-22
    c++
  • JavaScript数组操作函数怎么使用
    这篇文章主要介绍“JavaScript数组操作函数怎么使用”,在日常操作中,相信很多人在JavaScript数组操作函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • PostgreSQL中怎么使用snapshot操作接口函数
    本篇内容介绍了“PostgreSQL中怎么使用snapshot操作接口函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2024-04-02
  • C语言中操作字符串的函数详解
    目录一、函数表二、strlen实例三、strcmp实例四、strcpy实例五、stract实例六、strchr实例总结一、函数表 函数名函数功能strlensize_t strlen...
    99+
    2024-04-02
  • c++中函数的作用
    c++ 中函数的作用:封装代码、执行任务、传递参数、返回结果、控制流程,实现模块化开发。 C++ 中函数的作用 函数在 C++ 中发挥着至关重要的作用,它是一种代码块,用于执行特定的任...
    99+
    2024-05-08
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作