苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 5103|回复: 6

[视频教程] C# 番外篇 之 Win32Api

[复制链接]
发表于 2014-11-3 23:49:32 | 显示全部楼层 |阅读模式
http://www.sufeinet.com/thread-5428-1-1.html上一篇帖子分享了个类.
这次直接用它进行实战演示.
番外篇 Win32Api
          C#调用系统API.
         C# SendMessage 更改listbox选中
          C# SendMessage 更改combox选中
          C# SendMessage 到文本框
         C# SendMessage 选中checkbox
从自己的软件,来操作别人写好的软件.
SendMessage
句柄  标识当前进程/控件的一个标识;
     本课程所用到的常量信息:
      [C#] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important]
[color=white !important]?

1

2

3

4

5

6

7

private const uintLB_FINDSTRING = 0x18F;//查询项目在listbox中
        private const uint LB_ADDSTRING = 0x180;//增加字符串在listbox中
      private const uint LB_SETCURSEL = 0x186;  //用于多选ListBox
      private const uint LB_SETTOPINDEX = 0x197;//改变序号在ListBox
      private const uint CB_FINDSTRING = 0x014C;//搜索字符串在下拉菜单中
      private const uint CB_SETCURSEL = 0x014E;//设置下拉菜单的选中项
      private const uint CB_SHOWDROPDOWN = 0x014F;//展开下拉菜单
      private const uint BM_CLICK = 0x00F5;//按钮点击






  引用其他非托管语言编写的DLL时.必须要加上此标志
[C#] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important]
[color=white !important]?

1

2

3

4

关键字     方法所在的DLL  方法名称
  [DllImport("user32.dll",EntryPoint = "FindWindow")]
         权限修饰符   静态标志  修饰符   返回值类型  方法名(与调用方法相同)
           private   static   extern   IntPtrFindWindow(string IpClassName, string IpWindowName);





如何编写一个win32api的程序.
一、获取句柄
a)  从窗体标题中获取句柄/从进程中(pid)获取句柄
b)  IntPtr.Zero   判断句柄是否为0
二、找到实现函数
a)  SendMessage
三、函数的原型(搜索引擎,MSDN,玄机宝盒)
a)  可以使用宝盒的api速查
四、如何调用
a)        EasyWin32Apis

找出窗体上所需要操控控件句柄,在进行消息传递.Ps:常量消息暂时放在楼层,以后有空收录至 玄机宝盒 ,并增加相应中文注释
C# 操作API 视频下载地址:
http://pan.baidu.com/s/1gdAFesb



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-11-4 04:32:46 | 显示全部楼层
对于自绘的QQ窗体而言,这个就不行了吧。貌似要用大漠。
 楼主| 发表于 2014-11-4 09:48:23 | 显示全部楼层
我是MT 发表于 2014-11-4 04:32
对于自绘的QQ窗体而言,这个就不行了吧。貌似要用大漠。

通过鼠标也是可以的,但是在C#中还有一种自动化测试的方案.那个可以搞定QQ这种.
发表于 2014-11-4 14:08:52 | 显示全部楼层
强烈支持楼主ing……
发表于 2014-11-5 07:44:10 | 显示全部楼层
ro4ters 发表于 2014-11-4 09:48
通过鼠标也是可以的,但是在C#中还有一种自动化测试的方案.那个可以搞定QQ这种.

哦 。那就非常强大了,一直想要写个自动模拟登录QQ挂机的软件出来。这个思路不错。
发表于 2014-11-5 19:53:44 | 显示全部楼层
受教了学习中……
发表于 2014-11-23 00:57:07 | 显示全部楼层
强烈支持楼主ing……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-27 12:48

© 2014-2021

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