嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
获取某一窗体上 某一个Edit中的内容,需要使用spy 软件
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
public static extern int SendMessageA(IntPtr hwnd, int wMsg, int wParam, Byte[] lParam);
[DllImport("user32.dll", EntryPoint = "SetForegroundWindow", SetLastError = true)]
public static extern void SetForegroundWindow(IntPtr hwnd);
[DllImport("user32.dll")]
public static extern int EnumChildWindows(IntPtr hWndParent, CallBack lpfn, int lParam);
public delegate bool CallBack(IntPtr hwnd, int lParam);
const int WM_GETTEXT = 0x000D;
const int buffer_size = 1024;
//StringBuilder buffer = new StringBuilder(buffer_size);
byte[] buffer = new byte[buffer_size];
public Form1()
{
InitializeComponent();
}
public static List<IntPtr> GetIntPtr(IntPtr hwd)
{
List<IntPtr> listIntPtr = new List<IntPtr>();
EnumChildWindows(hwd, delegate(IntPtr hWnd, int lParam)
{
listIntPtr.Add(hWnd);
return true;
}, 0);
return listIntPtr;
}
private void button1_Click(object sender, EventArgs e)
{
//获取窗口句柄
IntPtr intptr = FindWindow(null, "FormComTest");
//获取窗口所有控件句柄
List<IntPtr> list = GetIntPtr(intptr);
//获取文本框内容
IntPtr temp = (IntPtr)0x001413A8;
//SendMessageA(temp, WM_GETTEXT, buffer_size, buffer);
//SendMessageA(temp, WM_GETTEXT, buffer_size, buffer);
SendMessageA((IntPtr)list[1], WM_GETTEXT, buffer_size, buffer);
textBox1.Text = System.Text.Encoding.Default.GetString(buffer);
}