http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 11147|回复: 10

[求助] API操作类大全 sendkey

[复制链接]
发表于 2012-12-18 13:16:02 | 显示全部楼层 |阅读模式
分享个sendkey
关于操作 API的

sendkey.rar

69.53 KB, 下载次数: 926, 下载积分: 金钱 -1

API类库



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2012-12-18 13:19:15 | 显示全部楼层
本帖最后由 幻雪丶逆时光 于 2012-12-18 13:20 编辑

其中一些 方法
  1. /********************************************************************************************
  2.         //遍历窗口
  3.         #region
  4.         private delegate int EnumWindowProc(IntPtr hWnd, IntPtr parameter, string m_classname);
  5.         private IntPtr m_hWnd; // HWND if found
  6.         public IntPtr FoundHandle
  7.         {
  8.             get { return m_hWnd; }
  9.         }

  10.         public int FindChildClassHwnd(IntPtr hwndParent, IntPtr lParam, string m_classname)
  11.         {
  12.             EnumWindowProc childProc = new EnumWindowProc(FindChildClassHwnd);
  13.             IntPtr hwnd = FindWindowEx(hwndParent, IntPtr.Zero, m_classname, string.Empty);

  14.             if (hwnd != IntPtr.Zero)
  15.             {
  16.                 this.m_hWnd = hwnd; // found: save it
  17.                 return 0; // stop enumerating
  18.             }
  19.             EnumChildWindows(hwndParent, childProc, IntPtr.Zero); // recurse  redo FindChildClassHwnd
  20.             return (int)hwnd;// keep looking
  21.         }
  22.         #endregion
  23.         //********************************************************************************************
复制代码
  1. /// <summary>
  2.         /// 查找子窗口
  3.         /// </summary>
  4.         /// <param name="hWnd_Father">父窗口的句柄</param>
  5.         /// <param name="hWnd_PreChild">上一个兄弟窗口</param>
  6.         /// <param name="lpszclass">窗口类</param>
  7.         /// <param name="lpszwindows">窗口标题</param>
  8.         /// <returns>窗口的句柄(如果查找失败将返回0)</returns>
  9.         &#91;DllImport("user32.dll", CharSet = CharSet.Auto)&#93;
  10.          static extern IntPtr FindWindowEx(IntPtr hWnd_Father, IntPtr hWnd_PreChild, string lpszclass, string lpszwindows);

  11.         &#91;DllImport("user32.dll", CharSet = CharSet.Auto)&#93;
  12.         private static extern bool GetWindowPlacement(int hwnd, ref WINDOWPLACEMENT lpwndpl);
  13.         &#91;DllImport("user32.dll")&#93;
  14.         private static extern int GetWindowThreadProcessId(int id, out int pid);
  15.         &#91;DllImport("user32.dll")&#93;
  16.         private static extern bool GetWindowRect(int hwnd, ref Rect lpwndpl);

  17.         &#91;DllImport("user32.dll")&#93;//该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄
  18.          static extern int GetWindow(IntPtr hWnd, int nCmd);
  19.         &#91;DllImport("user32.dll")&#93;//当前桌面句柄
  20.          static extern IntPtr GetDesktopWindow();
  21.         &#91;DllImport("user32.dll")&#93;//检查进程窗口是否存在
  22.          static extern bool IsWindow(int hWnd);
  23.         &#91;DllImport("user32.dll")&#93;//获取窗口标题长度
  24.          static extern int GetWindowTextLength(int hWnd);
复制代码
 楼主| 发表于 2012-12-18 13:22:11 | 显示全部楼层
  1. //********************************************************************************************
  2.         //键盘和鼠标 等 枚举
  3.         #region

  4.         internal enum HookType //枚举,钩子的类型
  5.         {

  6.             //MsgFilter     = -1,

  7.             //JournalRecord    = 0,

  8.             //JournalPlayback  = 1,

  9.             Keyboard = 2,

  10.             GetMessage = 3,

  11.             CallWndProc = 4,

  12.             //CBT              = 5,

  13.             SysMsgFilter = 6,

  14.             Mouse            = 7,

  15.             Hardware = 8,

  16.             //Debug            = 9,

  17.             //Shell           = 10,

  18.             //ForegroundIdle  = 11,

  19.             CallWndProcRet = 12,

  20.             KeyboardLL = 13,

  21.             //MouseLL           = 14,

  22.         };


  23.         public enum wMsG : int
  24.         {
  25.             WM_NULL = 0x0000,
  26.             WM_CREATE = 0x0001,
  27.             WM_DESTROY = 0x0002,
  28.             WM_MOVE = 0x0003,
  29.             WM_SIZE = 0x0005,
  30.             WM_ACTIVATE = 0x0006,
  31.             WA_INACTIVE = 0,
  32.             WA_ACTIVE = 1,
  33.             WA_CLICKACTIVE = 2,

  34.             WM_SETFOCUS = 0x0007,
  35.             WM_KILLFOCUS = 0x0008,
  36.             WM_ENABLE = 0x000A,
  37.             WM_SETREDRAW = 0x000B,
  38.             WM_SETTEXT = 0x000C,
  39.             WM_GETTEXT = 0x000D,
  40.             WM_GETTEXTLENGTH = 0x000E,
  41.             WM_PAINT = 0x000F,
  42.             WM_CLOSE = 0x0010,

  43.             WM_QUERYENDSESSION = 0x0011,
  44.             WM_QUERYOPEN = 0x0013,
  45.             WM_ENDSESSION = 0x0016,
  46.             WM_QUIT = 0x0012,
  47.             WM_ERASEBKGND = 0x0014,
  48.             WM_SYSCOLORCHANGE = 0x0015,
  49.             WM_SHOWWINDOW = 0x0018,
  50.             WM_WININICHANGE = 0x001A,
  51.             WM_DEVMODECHANGE = 0x001B,
  52.             WM_ACTIVATEAPP = 0x001C,
  53.             WM_FONTCHANGE = 0x001D,
  54.             WM_TIMECHANGE = 0x001E,
  55.             WM_CANCELMODE = 0x001F,
  56.             WM_SETCURSOR = 0x0020,
  57.             WM_MOUSEACTIVATE = 0x0021,
  58.             WM_CHILDACTIVATE = 0x0022,
  59.             WM_QUEUESYNC = 0x0023,
  60.             WM_GETMINMAXINFO = 0x0024,
  61.             WM_USER   =    0x0400,
  62.             WM_KEYFIRST = 0x0100,
  63.             WM_KEYDOWN = 0x0100,
  64.             WM_KEYUP = 0x0101,
  65.             WM_CHAR = 0x0102,
  66.             WM_DEADCHAR = 0x0103,
  67.             WM_SYSKEYDOWN = 0x0104,
  68.             WM_SYSKEYUP = 0x0105,
  69.             WM_SYSCHAR = 0x0106,
  70.             WM_SYSDEADCHAR = 0x0107,

  71.             WM_MOUSEFIRST = 0x0200,
  72.             WM_MOUSEMOVE = 0x0200,
  73.             // 移动鼠标
  74.             WM_LBUTTONDOWN = 0x0201,
  75.             //按下鼠标左键
  76.             WM_LBUTTONUP = 0x0202,
  77.             //释放鼠标左键
  78.             WM_LBUTTONDBLCLK = 0x0203,
  79.             //双击鼠标左键
  80.             WM_RBUTTONDOWN = 0x0204,
  81.             //按下鼠标右键
  82.             WM_RBUTTONUP = 0x0205,
  83.             //释放鼠标右键
  84.             WM_RBUTTONDBLCLK = 0x0206,
  85.             //双击鼠标右键
  86.             WM_MBUTTONDOWN = 0x0207,
  87.             //按下鼠标中键
  88.             WM_MBUTTONUP = 0x0208,
  89.             //释放鼠标中键
  90.             WM_MBUTTONDBLCLK = 0x0209,
  91.             //双击鼠标中键
  92.             WM_MOUSEWHEEL = 0x020A,
  93.         }
复制代码
枚举
发表于 2012-12-18 13:24:24 | 显示全部楼层
这个不错,谢谢你给大家分享
发表于 2013-2-5 16:54:20 | 显示全部楼层
呵呵助手类
发表于 2013-4-24 10:26:14 | 显示全部楼层
膜拜中……
发表于 2013-6-8 12:41:48 | 显示全部楼层
给力 膜拜中……
发表于 2013-7-4 11:56:00 | 显示全部楼层
非常感谢你帮了我的大忙,真的太感谢你啦!
发表于 2015-7-14 20:18:48 | 显示全部楼层
膜拜中……
回复

使用道具 举报

发表于 2015-9-14 17:03:12 | 显示全部楼层
受教了学习中……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-4 12:52

© 2014-2021

快速回复 返回顶部 返回列表