PDA

View Full Version : سوال: تابع FindWindowEX



thinkdiff
جمعه 16 فروردین 1392, 17:27 عصر
دوستان سلام
من یک مشکلی تو برنامهنم دارم
من با توابع GetActiveWindow و GetWindowText و FindWindow هندل و نام caption برنامه مورد نظرم رو درمیارم ولی میخوام هندل آبجکت های داخلشم با تابع FindWindowEX دربیارم که نمیشه
مثلا هندل برنامه chorom "2009050" هست ولی من میخوام هندل Addressbar ش رو دربیارم و به اون رشته ارسال کنم

راهنمایی لطفا

debugger
شنبه 17 فروردین 1392, 00:25 صبح
using System.Runtime.InteropServices;

[DllImport("user32.dll", CharSet=CharSet.Unicode)]
static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle);

IntPtr hWndParent = new IntPtr(2032496); // providing parent window handle
IntPtr hWndButton = FindWindowEx(hWndParent, IntPtr.Zero, "Button", string.Empty);

hWndParent همون پنجره یا فرمی هست که هندل کردی

بجای Button هم باید نام object یا کنترل مورد نظر را باید بنویسی می تونی از نرم افزار spy++ برای پیدا کردن اون استفاده کنی

بقیشم که راحته

برای هندل کردن فرم یا برنامه هم باید اسمشو بدین صورت بنویسی اینجا مثلا من ماشین حساب را هندل کردم

IntPtr hWndParent= IntPtr.Zero;
//
hWndParent= FindWindow(null, "Calculator");