
HooK
文章平均质量分 52
Bingo_BIG
知识只是工具,重要的是思想。有问题请咨询lybwwp@163.com
展开
-
钩子的用法
钩子的用法 2008-05-22 11:32:39| 分类:C#| 标签:|字号大中小订阅(转)钩子的用法2008-03-28 09:43二。了解一下钩子从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息。例子:有一个Form,Form里有个TextBox,转载 2012-11-09 23:14:02 · 806 阅读 · 0 评论 -
C#代表(delegate)和事件(event)
代表(delegate): 它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现。下面来看看它的实现步骤:声明一个delegate对象。实现和delegate具有相同参数和返回值的函数实现(可以是静态和非静态的)。产生一个delegate对象的时候,把你刚刚实现的函数作为参数传给他的构造函数。请看下面例子:using System;using转载 2012-11-12 08:24:36 · 767 阅读 · 0 评论 -
C#环境下的钩子详解
1、 WINDOWS的消息机制 2、 HOOK介绍 3、 HOOK链 4、 HOOK钩子的作用范围 5、 HOOK类型 6、 回调函数 7、 HOOK钩子的安装与卸载 8、 HOOK实例演示 +++++++++++++++++++ WINDOWS的消息机制 +++++++++++++++++++ Windows系统是以消息处理为其控制机制,系统通过消转载 2012-11-07 17:54:29 · 1092 阅读 · 0 评论 -
DLL读其它程序的listview信息和
一、读取listView using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows原创 2012-11-13 22:23:12 · 1309 阅读 · 0 评论 -
C#中调用Windows API的要点
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助。另外如果安装了Visual Studio .net的话,在C:Program FilesMicrosoft Visual Studio .NETFramewo转载 2012-11-15 08:44:34 · 688 阅读 · 0 评论 -
C#和内存指针
关 键 词: serverword.net 虽然到了.net 的runtime 时代,C 仍然是不可磨灭的主要支柱,包括在MSDN 里见到的API 大部都是有指针类型存在,那么在以C 冠首的C# 里应当如何去使用指针呢? 其实,C# 里可以直接使用结构型的变量引用进API,但是毕竟它不是指针在对一些涉及以结构数组存放的内存区操作可能就力有不及了,我举一个例子要使用到结转载 2012-11-15 10:52:25 · 1332 阅读 · 0 评论 -
C#使用全局钩子(hook),SetWindowsHookEx返回0、不回调的解决
在.net 2005平台下 在使用全局hook时,总是遇见SetWindowsHookEx的返回值为0,而且在:DllImport的SetLastError选项 = true的时候,调用Marshal.GetLastWin32Error() 也返回0,那么就看看是否这个原因:因为VS的调试模式的问题。1.试试禁用宿主进程能否解决:1). 在 Visual Studio 中打开项转载 2012-11-14 15:37:32 · 1793 阅读 · 0 评论 -
“0x????????”指令引用的“0x????????”内存。该内存不能为“read或written解决方法
“0x????????”指令引用的“0x????????”内存。该内存不能为“read或written解决方法使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的0x00000000内存,该内存不能written”,然后应用程序被关闭。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。一、应用程序没有检查内存转载 2012-11-18 10:18:29 · 12299 阅读 · 0 评论 -
C# 全局钩子,方法一
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Text;using System.Runtime.InteropServices;using System.Reflection;namespace XCo转载 2012-11-18 10:43:44 · 3735 阅读 · 0 评论 -
局部钩子
using System;using System.Collections.Generic;using System.ComponentModel;using System.Text;using System.Runtime.InteropServices;using System.Reflection;using System.Linq;using System.Wi原创 2012-11-18 10:47:04 · 1052 阅读 · 0 评论 -
API两个程序间信息的传送与接收,一方发送另一方自动接收.
1、发送消息using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace Set_Get_Messages{ class APISendMsg { const int WM_CO原创 2012-11-18 13:11:05 · 970 阅读 · 0 评论 -
C# 全局钩子 方法二
//网上都说,我的朋友也说C#不能实现全局钩子获得listView之类的消息,只能实现全局的键盘和鼠标钩子,下面代码是在做得到其它程序的listView控件中的列表写的,不过没实现,项目只做了一半放下了,改其它方法实现了,本代码只供参考学习,如果哪位高手朋友做出来了,请把代码发一下,本人会非常感谢,再感谢的!!using System;using System.Collections.Ge原创 2012-11-18 10:45:22 · 3434 阅读 · 1 评论 -
自动化测试中FindWindow与FindWindowEx的使用为输入框赋值示例
如下图用FindWindow与FindWindowEx使其自动赋值登陆 探测这个对话框的结构如下,我们看到两个Edit就在最后两个节点上。 我们现在就可以利用FindWindow以及FindWindowEx这两个函数来帮我们找到这个窗体及窗体上所有的控件,然后帮我们完成自动化测试。下面这个程序就是帮我们自动输入用户名与密码。using System;us转载 2012-11-11 09:21:33 · 7230 阅读 · 1 评论 -
C#利用API给其它线程的各种控件赋值
[DllImport("User32.dll", EntryPoint = "SendMessage")] public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam); [DllImport("user32.dll")] p原创 2012-11-23 11:17:22 · 3828 阅读 · 0 评论 -
C#委托与事件
c#用委托来实现事件通知机制。委托相当与c++函数指针。整个过程涉及一个呼叫者,一个被呼叫者,还有就是这个委托。- 实现步骤有以下几步: 1. 申明委托, 2.定义呼叫者和调用的函数, 3.定义被呼叫者和具体实现的函数(被调用的函数)1.申明委托 ,在包里或者类里,public public delegate void PlayGame(Object sender, Event原创 2012-11-11 08:37:39 · 1184 阅读 · 0 评论 -
C#与C++和C语言之间数据类型的对应
一、C#与C++数据类型的对应表 Windows Data Type.NET Data TypeBOOL, BOOLEANBoolean or Int32BSTRStringBYTEByteCHARCharDOU转载 2012-11-10 12:50:13 · 6431 阅读 · 0 评论 -
C# 怎么生成DLL文件
有两种方法: 但是一般这个使用 打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs 类库文件组成的程序集,写好代码之后(例如写了一个名为DllTest.cs的类,该类的namespace取名为DllTestNS),再依次点击:菜单->生成->生成Dll转载 2012-11-08 14:01:05 · 17691 阅读 · 0 评论 -
C#调用DLL文件时参数对应表
C#调用DLL文件时参数对应表Wtypes.h 中的非托管类型非托管 C 语言类型托管类名说明HANDLEvoid*System.IntPtr32 位BYTEunsigned charSystem.Byte8 位SHORTshortSystem.Int1616 位WORDunsigned shortSystem.UInt1转载 2012-11-09 23:25:47 · 961 阅读 · 0 评论 -
信 息 过 滤 技 术
信 息 过 滤 技 术目 录摘 要 3Abstract 3引 言 4第一章:问题描述 4第二章:API钩子的总体设计 5第三章:DLL简介 5第四章:注入技术(Injecting Techniques) 71. 注册表 72. Windows提供的系统范围的钩子 8转载 2012-11-09 23:20:46 · 1832 阅读 · 0 评论 -
C# DllImport的用法
大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。DllImport所在的名字空间 using System.Runtime.InteropServices;MSDN中转载 2012-11-10 10:20:11 · 1016 阅读 · 0 评论 -
C# Readprocessmemory用法 .
函数功能:该函数从指定的进程中读入内存信息,被读取的区域必须具有访问权限。函数原型:BOOL ReadProcessMemory(HANDLE hProcess,LPCVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesRead);参数:hProcess:进程句柄转载 2012-11-10 12:14:07 · 6907 阅读 · 0 评论 -
API Hook在TA中的应用
有段时间帮公司搞TA,用到了API Hook技术,这里和大家共享一下, 欢迎一起探讨。 首先解释下什么是TA,TA也就是test automation, 即自动测试,也就是用机器来模拟人操作软件,然后测试操作结果是否按预想的流程进行。 公司产品的自动测试覆盖率一直上不去,很大的原因的是一些技术问题,因为自动测试工具是一个独立的进程,他很难知道被测试程序当时的UI情况。对于一些系统标准控件,可转载 2012-11-11 22:20:05 · 675 阅读 · 0 评论 -
C# OpenProcess用法 .
函数功能:该函数用来打开一个已存在的进程对象,并返回进程的句柄。函数原型:HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId);参数:dwDesiredAccess:访问权限。bInheritHandle:继承标志。dwProcessId转载 2012-11-10 12:12:49 · 9132 阅读 · 1 评论 -
C# 查找窗口,FindWindow用法
FindWindow 用来根据类名和窗口名来得到窗口句柄的。但是这个函数不能查找子窗口,也不区分大小写。如果要从一个窗口的子窗口中查找需要使用FindWindowEX。 函数功能:该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。 函数原型:HWND FindWindowEx原创 2012-11-10 10:16:39 · 32733 阅读 · 1 评论 -
C#FindWindowEx参数详解
FindWindowEx参数详解本函数的其他内容在网络上都比较多,这里主要说一下它的参数设置和搜索结果的区别。函数功能:在窗口列表中寻找与指定条件相符的第一个子窗口。该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。函数原型:HWND FindWindowEx(HWND h原创 2012-11-10 15:04:59 · 8474 阅读 · 0 评论 -
C#SendMessage用法 .
函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。该函数是应用程序和应用程序之间进行消息传递的主要手段之一。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄转载 2012-11-10 12:08:25 · 1081 阅读 · 0 评论 -
用钩子获得按键信息实例
实例:实现获得按键信息窗体相关代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Wi原创 2012-11-11 15:11:50 · 1227 阅读 · 0 评论 -
C# GetWindowThreadProcessId用法 .
函数功能:该函数返回创建指定窗口线程的标识和创建窗口的进程的标识符,后一项是可选的。 函数原型;DWORD GetWindowThreadProcessld(HWND hwnd,LPDWORD lpdwProcessld); 参数: hWnd:窗口句柄。 lpdwProcessld:接收进程标识的32位值的地址。如果这个参数不为NULL,转载 2012-11-10 12:11:43 · 9965 阅读 · 3 评论 -
利用API发送和接收消息,本代码测试全通过
using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace Set_Get_Messages{ class APISendMsg { #region 常数 con原创 2012-11-18 17:15:56 · 2941 阅读 · 0 评论