//-------------[Find Window]-------------
[DllImport("User32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string className, string windowName);
//-------------[Find Window Ex]-------------
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
private static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter,string lpszClass,string lpszWindow);
[DllImport("user32.dll", EntryPoint = "GetDlgItemTextA")]
private static extern int GetDlgItemText(IntPtr hDlg, int nIDDlgItem, [Out]StringBuilder lpString, int nMaxCount); // ------------------本程序针对指定的另一程序窗体因此声名了如下变量------------------
IntPtr Wnd = new IntPtr(0);// 主窗体
IntPtr sWnd = new IntPtr(0);// 子窗体
IntPtr sWnd_textbox = new IntPtr(0);// 子窗体
string lines_label = "WindowsForms10.STATIC.app.0.2bf8098_r16_ad1";
string lines_textbox = "WindowsForms10.EDIT.app.0.2bf8098_r16_ad1"; StringBuilder reader = new StringBuilder(255);
StringBuilder text1 = new StringBuilder("FielPath"); private void button2_Click(object sender, EventArgs e)
{ // 主窗体句柄------FindWindow------
Wnd = FindWindow(null, "FileResend");// 一个注册程序的窗体
if (Wnd != IntPtr.Zero)
{
sWnd = FindWindowEx(Wnd, (IntPtr)0, lines_label, null);
if (sWnd != IntPtr.Zero)
{
SendMessage(sWnd, WM_SETTEXT, 0,text1);
}
sWnd_textbox = FindWindowEx(Wnd, (IntPtr)0, lines_textbox, null);
if (sWnd_textbox != IntPtr.Zero)
{
GetDlgItemText(Wnd, sWnd_textbox.ToInt32(), reader, 255);
}
MessageBox.Show(reader.ToString());
}
}另一个软件界面上就一个label 一个textbox求大大们给小弟解惑
这个地方是什么?控件句柄还是控件id?我试过 好像都不行?
reader是什么?string?还是stringbuilder?