几个比较好用的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
转载于:https://www.cnblogs.com/skyover/archive/2004/02/12/1218.html
几个比较好用的Windows API在C#中的用法。相关推荐
- Windows API实现窗口居中
代码如下: //居中窗口int scrWidth, scrHeight;RECT rect;scrWidth = GetSystemMetrics(SM_CXSCREEN);scrHeight = G ...
- messagebox 全部使用_「一」Windows API 零门槛编程指南——MessageBox
本篇作为Windows API 系列文章的第一篇,将简要的讲解一下什么是Windows API,Windows API能做些什么,并且尽可能讲解一些新出现的专有名词:本系列博文几乎没有难啃的" ...
- 关于Windows® API Code Pack for Microsoft® .NET Framework
相比之前的操作系统,Window 7(or Vista)提供了很多新特性,我们在应用实现中可以利用这些特性来提升用户体验. 这些特性主要包括以下几个方面: Shell Enhancements Dir ...
- 【一】Windows API 零门槛编程指南——MessageBox 基本使用及基础讲解
本篇作为Windows API 系列文章的第一篇,将简要的讲解一下什么是Windows API,Windows API能做些什么,并且尽可能讲解一些新出现的专有名词:本系列博文几乎没有难啃的" ...
- C#中调用Windows API时的数据类型对应关系
C#中调用Windows API时的数据类型对应关系 原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE ...
- C#调用windows api的要点
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...
- C#中调用Windows API的要点
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...
- 用C#调用Windows API向指定窗口发送按键消息
为什么80%的码农都做不了架构师?>>> 用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入 ...
- 用C#和本地Windows API操纵系统菜单
一.前言 .net框架是Windows应用领域中一个非常新的技术,可以肯定在未来的一段时间内,.NET应用必须与现存的Windows技术交互作用.这种交互作用主要体现在两个领域:COM和应用编程接口( ...
最新文章
- css3 html5宽高不变,html – CSS圆圈,不使用固定的宽度和高度
- lazada选品怎么做,东南亚母婴玩具类目选品分析
- SRM 400(1-250pt, 1-500pt)
- asp向不同的用户发送信息_【asp.net core 系列】 1 带你了解一下asp.net core
- 在html页面中怎么打印区域,在HTML中指定打印区域进行打印机打印
- (STL,set,priority_queue)丑数
- swift开发:试玩 Apple 网站的 playground
- SAP License:ERP的价格管控
- JDK源码学习之 java.util.concurrent.automic包
- 微信公众号H5页面:禁止分享操作
- 【Matlab语音识别】声纹识别【含GUI源码 537期】
- 菜菜的sklearn课堂——决策树
- 时空知识图谱应用初探
- 安全狗“老用户推荐新用户”有奖活动进行中 最高IPhone 4S手机
- 在Android中调用浏览器打开网页方式
- java 各版本下载官方网站
- 问渠哪得清如许,为有源头活水来
- 谜题51:那个点是什么?
- 数据回顾东京奥运会中国体育代表团金牌时刻
- 网络让价值不断放大,价值让网络不断铺开
热门文章
- mvc3 之三 符号列表
- 字符A-Z - ABCD...XYZ
- WCF - 基础介绍
- 大家调试ZEND的时候应该会用到zend studio,不知道是不是中国购买zend产品的用户太少了还是我安装的问题,...
- 修改android studio中的avd sdk路径、avd sdk找不到的解决方案
- 《1---关于解决MySQL在控制台插入中文乱码问题》
- MySQL单表数据量过千万,采坑优化记录,完美解决方案
- kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition
- The prefix “mvc“ for element “mvc:annotation-driven“ is not bound 异常
- Jmeter之解决烦人的中文乱码问题