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] ?
| 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] ?
| 关键字 方法所在的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
|