几个比较好用的Windows API在C#中的用法。

#region Windows Api 定义

///
  /// 模拟鼠标事件
  ///
  /// 鼠标事件的Enum
  /// X座标
  /// Y座标
  ///
  ///
  [DllImport("user32.dll")]
  public static extern void mouse_event (MouseEvents dwFlags,long dx, long dy,long cButtons,long dwExtraInfo);

///
  /// 定义模拟鼠标的常数
  ///
  public enum MouseEvents:uint
  {
   MOUSEEVENTF_LEFTDOWN = 0x2,
   MOUSEEVENTF_LEFTUP = 0x4,
   MOUSEEVENTF_MIDDLEDOWN = 0x20,
   MOUSEEVENTF_MIDDLEUP = 0x40,
   MOUSEEVENTF_MOVE = 0x1,
   MOUSEEVENTF_ABSOLUTE = 0x8000,
   MOUSEEVENTF_RIGHTDOWN = 0x8,
   MOUSEEVENTF_RIGHTUP = 0x10,
  }

///
  /// 按指定标题寻找窗口,以获得指定窗口的句柄,为空则返回零。
  ///
  /// 如未知则设置为NULL
  /// 窗口名
  /// 整型数据,代表窗口句柄
  [DllImport("user32.dll")]
  public static extern int FindWindow(String lpClassName,String lpWindowName);

///
  /// 根据窗口句柄,获得窗口的类名
  ///
  /// 窗口句柄
  /// 缓冲区
  /// 最大字节数
  /// 整型,代表类名
  [DllImport("user32.dll")]
  public static extern int GetClassName(int hwnd,System.Text.StringBuilder buf, int nMaxCount);

///
  /// 根据窗口句柄,获得指定窗口的标题。
  ///
  /// 窗口句柄
  /// 缓冲区
  /// 最大字节数
  /// 返回标题
  [DllImport("user32.dll")]
  public static extern int GetWindowText(int hwnd,System.Text.StringBuilder buf, int nMaxCount);

///
  /// 根据窗口句柄,设置指定窗口为前置窗口。
  ///
  /// 窗口句柄
  [DllImport("user32.dll")]
  public static extern void SetForegroundWindow(int hwnd);
  
  ///
  /// 根据窗口句柄和显示的样式,显示窗口。
  ///
  /// 窗口句柄
  /// 显示窗口的样式。
  /// 成功与否。
  [DllImport("user32.dll")]
  public static extern bool ShowWindow(int hWnd, nCmdShow nCmdShow);
  public enum nCmdShow:uint
  {
   SW_FORCEMINIMIZE=0x0,
   SW_HIDE=0x1,
   SW_MAXIMIZE=0x2,
   SW_MINIMIZE=0x3,
   SW_RESTORE=0x4,
   SW_SHOW=0x5,
   SW_SHOWDEFAULT=0x6,
   SW_SHOWMAXIMIZED=0x7,
   SW_SHOWMINIMIZED=0x8,
   SW_SHOWMINNOACTIVE=0x9,
   SW_SHOWNA=0xA,
   SW_SHOWNOACTIVATE=0xB,
   SW_SHOWNORMAL=0xC,
  }

///
  /// 捕捉当前鼠标位置
  ///
  /// 传入参数,代表鼠标的当前位置
  ///
  [DllImport("user32.dll")]
  public static extern long GetCursorPos (ref System.Drawing.Point lpPoint);
  #endregion

posted on 2004-02-12 19:59 嘻哈呵嘿 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/skyover/archive/2004/02/12/1218.html

几个比较好用的Windows API在C#中的用法。相关推荐

  1. Windows API实现窗口居中

    代码如下: //居中窗口int scrWidth, scrHeight;RECT rect;scrWidth = GetSystemMetrics(SM_CXSCREEN);scrHeight = G ...

  2. messagebox 全部使用_「一」Windows API 零门槛编程指南——MessageBox

    本篇作为Windows API 系列文章的第一篇,将简要的讲解一下什么是Windows API,Windows API能做些什么,并且尽可能讲解一些新出现的专有名词:本系列博文几乎没有难啃的" ...

  3. 关于Windows® API Code Pack for Microsoft® .NET Framework

    相比之前的操作系统,Window 7(or Vista)提供了很多新特性,我们在应用实现中可以利用这些特性来提升用户体验. 这些特性主要包括以下几个方面: Shell Enhancements Dir ...

  4. 【一】Windows API 零门槛编程指南——MessageBox 基本使用及基础讲解

    本篇作为Windows API 系列文章的第一篇,将简要的讲解一下什么是Windows API,Windows API能做些什么,并且尽可能讲解一些新出现的专有名词:本系列博文几乎没有难啃的" ...

  5. C#中调用Windows API时的数据类型对应关系

    C#中调用Windows API时的数据类型对应关系 原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE ...

  6. C#调用windows api的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  7. C#中调用Windows API的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  8. 用C#调用Windows API向指定窗口发送按键消息

    为什么80%的码农都做不了架构师?>>>    用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入 ...

  9. 用C#和本地Windows API操纵系统菜单

    一.前言 .net框架是Windows应用领域中一个非常新的技术,可以肯定在未来的一段时间内,.NET应用必须与现存的Windows技术交互作用.这种交互作用主要体现在两个领域:COM和应用编程接口( ...

最新文章

  1. css3 html5宽高不变,html – CSS圆圈,不使用固定的宽度和高度
  2. lazada选品怎么做,东南亚母婴玩具类目选品分析
  3. SRM 400(1-250pt, 1-500pt)
  4. asp向不同的用户发送信息_【asp.net core 系列】 1 带你了解一下asp.net core
  5. 在html页面中怎么打印区域,在HTML中指定打印区域进行打印机打印
  6. (STL,set,priority_queue)丑数
  7. swift开发:试玩 Apple 网站的 playground
  8. SAP License:ERP的价格管控
  9. JDK源码学习之 java.util.concurrent.automic包
  10. 微信公众号H5页面:禁止分享操作
  11. 【Matlab语音识别】声纹识别【含GUI源码 537期】
  12. 菜菜的sklearn课堂——决策树
  13. 时空知识图谱应用初探
  14. 安全狗“老用户推荐新用户”有奖活动进行中 最高IPhone 4S手机
  15. 在Android中调用浏览器打开网页方式
  16. java 各版本下载官方网站
  17. 问渠哪得清如许,为有源头活水来
  18. 谜题51:那个点是什么?
  19. 数据回顾东京奥运会中国体育代表团金牌时刻
  20. 网络让价值不断放大,价值让网络不断铺开

热门文章

  1. mvc3 之三 符号列表
  2. 字符A-Z - ABCD...XYZ
  3. WCF - 基础介绍
  4. 大家调试ZEND的时候应该会用到zend studio,不知道是不是中国购买zend产品的用户太少了还是我安装的问题,...
  5. 修改android studio中的avd sdk路径、avd sdk找不到的解决方案
  6. 《1---关于解决MySQL在控制台插入中文乱码问题》
  7. MySQL单表数据量过千万,采坑优化记录,完美解决方案
  8. kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition
  9. The prefix “mvc“ for element “mvc:annotation-driven“ is not bound 异常
  10. Jmeter之解决烦人的中文乱码问题