ورود

View Full Version : نوشتن در هندل یه برنامه



na_3_er
یک شنبه 14 اردیبهشت 1393, 05:19 صبح
فرض کنید در فرم زیر قسمت مشخص شده شماره هندلش 661128 این هست.
حال اینا رو میخوام
چطوری متن مقدار قبلی رو بدست بیاوریم و چطوری مقدار جدید مثلا abc.ir/1.txt را وارد کنیم و بعدش دکمه اینتر رو بزنیم.118612من تا اینجا را بدست اوردم :خجالت:


procedure TForm1.Button3Click(Sender: TObject);
Var
Hand:THandle;
begin
Hand:=661128;
SetForegroundWindow(Hand);
end;


و میدونم برای بدست اوردن مقدار از GetWindowText و ریختن مقدار از SetWindowText استفاده میکنن ولی هر کاری کردم نشد.
حالا مثلا شماره هندل اینتر این بود 2341 چطوری به برنامه بگیم که فلان هندل روش کلیک کن.


اگر میشه کسی نحوه کد نویسی این سه تا را توضیح بده یه دنیا ممنون:قلب:

lord_viper
دوشنبه 15 اردیبهشت 1393, 08:52 صبح
برای کلیک کردن باید با استفاده از تابع SendMessage یا PostMessage پیغام WM_LBUTTONDOWN و بعد WM_LBUTTONUP رو بهش پاس بدید
هندل پنجره و کنترل مورد نظر رو بهتره با استفاده از تابع findWindows و findwindowEX بدست بیارین



postmessage(wnd, WM_LBUTTONDOWN, 0, MakeLong(500,500));
postmessage(wnd, WM_LBUTTONUP, 0, MakeLong(500,500));