在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

C#封装常用的Windows API函数

C# 清风 2040℃ 0评论

Windows API

Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。

C#调用Windows API

C#调用Windows API之调用格式,在.Net Framework SDK文档中是比较零散。但在C#中使用Windows API最常见的方式是用DllImport 来进行处理,并 使用 C# 关键字 static 和 extern 声明方法 。


[DllImport("kernel32")]
public static extern void GetWindowsDirectory(StringBuilder WinDir,int count); 

上述代码中,DllImport属性用来从不可控代码中调用一个方法,它指定了DLL的位置,该DLL中包含调用的外部方法:

  • kernel32设定了类库名
  • public指明函数的访问类型为公有的
  • static修饰符声明一个静态元素,而该元素属于类型本身而不是指定的对象
  • extern表示该方法将在工程外部执行,同时使用DllImport导入的方法必须使用extern修饰符

C# 调用Windows API操作QQ窗口

C#使用API操作QQ窗口试例
C#使用API操作QQ窗口试例

        private void button1_Click(object sender, EventArgs e)
        {
            Clipboard.SetText("Window Api使用QQ发中文测试。");
            System.Threading.Thread.Sleep(100);
            IntPtr QQMessgeWindow= WindowsAPI.FindWindow("TXGuiFoundation", "对方QQ昵称");
            if (QQMessgeWindow != IntPtr.Zero)
            {
                
                WindowsAPI.keybd_event(1, 0, 0, 0);
                WindowsAPI.ShowWindow(QQMessgeWindow,1);
                WindowsAPI.SetForegroundWindow(QQMessgeWindow);
                WindowsAPI.PostMessage(QQMessgeWindow, 770, 0, 0);
                WindowsAPI.PostMessage(QQMessgeWindow, 256, 13, 0);
                WindowsAPI.PostMessage(QQMessgeWindow, 257, 13, 0);
                WindowsAPI.keybd_event(17, 0, 2, 0);
                
            }

        }

C#封装Windows API常用的方法类文件

C#封装Windows APi 函数



转载请注明:清风亦平凡 » C#封装常用的Windows API函数

喜欢 (17)or分享 (0)
支付宝扫码打赏 支付宝扫码打赏 微信打赏 微信打赏
头像
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址