111,130
社区成员
发帖
与我相关
我的任务
分享
Process pro = Process.Start(@"C:\Program Files\Outlook Express\wab.exe");
try
{
System.Threading.Thread.Sleep(2000);
IntPtr iptr = FindWindow("WABBrowseView", "address book");//这里能得到窗体的句柄
//接下来的句柄都是0,所以发送click命令也无效了
IntPtr menuHandle = FindWindowEx(iptr, IntPtr.Zero,null, "File(&F)");
IntPtr deleteToolBar = FindWindowEx(iptr, new IntPtr(0), "ToolbarWindow32", "Delete");
SendMessage(deleteToolBar, 0xF5, 0, 0);
}
catch
{
pro.Dispose();
}
IntPtr mailList = FindWindowEx(iptr, new IntPtr(0), "SysListView32", "");
ListView view = (ListView)ListView.FromHandle(mailList);
//查到窗体,得到整个窗体
ParenthWnd = FindWindow(窗口类名,lpszParentWindow);
//判断这个窗体是否有效
if (!ParenthWnd.Equals(IntPtr.Zero))
{
EdithWnd = FindWindowEx(ParenthWnd,EdithWnd,窗体上的控件,""); //获取窗体上指定控件句柄
if(!EditWnd.Equals(IntPtr.Zero))//如果该控件存在
{
//...
}
}
using System.Runtime.InteropServices;
[DllImport("User32.dll",EntryPoint="FindWindow")]
private static extern IntPtr FindWindow(string lpClassName,
string lpWindowName);
[DllImport("user32.dll",EntryPoint="FindWindowEx")] //找子窗体
private static extern IntPtr FindWindowEx(IntPtr hwndParent,
IntPtr hwndChildAfter, string lpszClass, string lpszWindow);