日期:2014-05-17 浏览次数:20940 次
//网上都说,我的朋友也说C#不能实现全局钩子获得listView之类的消息,只能实现全局的键盘和鼠标钩子,下面代码是在做得到其它程序的listView控件中的列表写的,不过没实现,项目只做了一半放下了,改其它方法实现了,本代码只供参考学习,如果哪位高手朋友做出来了,请把代码发一下,本人会非常感谢,再感谢的!!
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Diagnostics;
namespace AnShieldClassLibrary
{
//public struct tagCWPSTRUCT
//{
// public IntPtr lParam;// 消息参数
// public IntPtr wParam;// 消息参数
// public int message;// 消息值,由非负整数来表示
// public IntPtr hwnd;// 消息的目的地句柄
//}
[StructLayout(LayoutKind.Sequential)]
public struct tagCWPSTRUCT
{
public IntPtr lParam;// 消息参数
public IntPtr wParam;// 消息参数
public int message;// 消息值,由非负整数来表示
public IntPtr hwnd;// 消息的目的地句柄
//public IntPtr lparam;
//public IntPtr wparam;
//public int message;
//public IntPtr hwnd;
//以前的
//public int message;
//public int paramL;
//public int paramH;
//public int Time;
//public int hwnd;
}
//消息结构体
[StructLayout(LayoutKind.Sequential)]
public struct LVITEM
{
public int mask;
public int iItem;
public int iSubItem;
public int state;
public int stateMask;
public string pszText; // string
public int cchTextMax;
public int iImage;
public IntPtr lParam;
public int iIndent;
public int iGroupId;
public int cColumns;
public IntPtr puColumns;
&n