PDA

View Full Version : پیدا کردن button در یک پنجره ای که هندل آن داده شده است



Developer Programmer
پنج شنبه 27 آذر 1382, 22:21 عصر
چطوری می تونین با یافتن هندل یک فرم(پنجره) لیست تمام button های بکار رفته در ان را شناسایی کنید؟
مثال کامل می خوام لطفا

Omid.Mafakher
جمعه 28 آذر 1382, 00:32 صبح
-------------------------------------

Developer Programmer
جمعه 28 آذر 1382, 10:35 صبح
عزیزم برنامه اینطوریه که
ماوس رو روی یه فرم می گیری بعد اگه button ای داشت خودبخود آن button فعال می شه (enable) خوب حالا چطوری می تونم برم شی های موجود در یک ویندو را چک کنم ؟
مید ونم که getclassname می تونه کمک کنه فقط نمی دونم چطوری برم اشیای یک پنجره رو جستجو کنم

راستی لطفا یک سورس کامل برام بذارین

Voldemort
جمعه 28 آذر 1382, 15:52 عصر
از این توابع می توانید استفاده کنید:
EnumChildWindows
WindowFromPoint
تابع WindowFromPoint هندل شی که زیر کرسر ماوس قرار دارد را برمی گرداند. (البته با یک سری محدودیتها). شما می توانید با استفاده از هندل داده شده کلاس شی را بدست آورده و چک کنید که آیا یک Button است یا خیر.
تابع EnumChildWindows نیز لیستی از پنجره های Child یک پنجره را بر می گرداند. حالا شما هندل Parent را به آن ارسال کنید و Child ها را تحویل بگیرید و باز هم کلاس آنها را بررسی کنید تا ببینید آیا یک Button هستند یا خیر. فقط یادتان باشد که این تابع از نوع Enum (شمارشی) است.

Developer Programmer
یک شنبه 30 آذر 1382, 13:25 عصر
جناب lord عزیز من یه تاپیک عین همین تو دلفی زدم و یه سورس کد هم توشه دمت گرم یه نگاه هم به اون کن

Omid.Mafakher
یک شنبه 30 آذر 1382, 13:59 عصر
-------------------------------------

Developer Programmer
یک شنبه 30 آذر 1382, 18:15 عصر
ممنون از زحمتی که کشیدی
می تونستی با Scroll Lock فارسی بنویسی حتی اگه ویندوز فارسی نباشه

CHAMALZ
چهارشنبه 01 مهر 1388, 15:23 عصر
با سلام و خسته نباشید یک سوال داشتم
میخواستم بدونم که چطور میتوان هندل دکمه های را به دست آورد که کامپونت هستند (دکمه های که فو کاس نمی گیرند)

majjjj
پنج شنبه 02 مهر 1388, 13:55 عصر
هندل یک کنترل دیگه روی اون فرم رو میتونید بگیرید؟
اگه این اینجوریه از توابع findwindow و findwindowex میتونید کمک بگیرید اگه تایتل فرم رو بگیرید راحتره

CHAMALZ
پنج شنبه 02 مهر 1388, 16:35 عصر
خیلی متشکرم ولی به عنوان مثال می خوام هندل دکمه refrash مرورگر internet explorer 6را بدست آورم لطفا اگه ممکنه منو راهنمایی کنید یا کد کاملشو بگزارید

xxxxx_xxxxx
پنج شنبه 02 مهر 1388, 22:12 عصر
خیلی متشکرم ولی به عنوان مثال می خوام هندل دکمه refrash مرورگر internet explorer 6را بدست آورم لطفا اگه ممکنه منو راهنمایی کنید یا کد کاملشو بگزارید

دوستان قبلاً توضیح دادند که نمیشه با آبجکت های مرورگرها از طریق هندل ارتباط برقرار کرد.

CHAMALZ
شنبه 04 مهر 1388, 14:54 عصر
خب می خوام هندل دکمه ی search یا دکمه ی explorer یا دکمه ی back را در my compyter بدست آورم لطفا کمکم کنید

majjjj
یک شنبه 05 مهر 1388, 11:47 صبح
تا حالا یک تولبار روی فرمت گذاشتی ؟
این کار رو بکن و یک تولبار بساز خودت جواب میگیری

CHAMALZ
سه شنبه 07 مهر 1388, 06:30 صبح
1- لطفا بیشتر توضیح بدید در مورد تولبار و بگید ایا امکان پیدا کردن هندل انها وجود دارد یا نه؟
2- من می خوام هندل یک دکمه ای را بدست بیارم که کامپونت هست(شکل ان گرد است )
چه کار کنم
3-هندل دکمه ی BUZZ د یاهو مسنجر چطور؟

Mbt925
سه شنبه 07 مهر 1388, 09:42 صبح
نمونه زیر، هندل دکمه های ماشین حساب ویندوز رو بدست آورده و روی اون ها کلیک می کنه (توسط کد)


http://barnamenevis.org/forum/showpost.php?p=817046&postcount=330

majjjj
سه شنبه 07 مهر 1388, 11:38 صبح
1- لطفا بیشتر توضیح بدید در مورد تولبار و بگید ایا امکان پیدا کردن هندل انها وجود دارد یا نه؟
2- من می خوام هندل یک دکمه ای را بدست بیارم که کامپونت هست(شکل ان گرد است )
چه کار کنم
3-هندل دکمه ی BUZZ د یاهو مسنجر چطور؟

1 تولبار خودش یک کنترل محسوب میشه و فقط هندل کل تولبار رو میتونید بگیرید نه اجزاء داخلش رو پس نمیشه
2 بعضی شرکت ها کنترل هایی ایجاد میکنن که ارتباط اون کنترل ها با سیستم عامل با هندل نیست مثلا بعضی قسمتهای یاهو مسنجر و فکر کنم فایر فوکس هم همینجوری باشه این دومی رو تست نکردم
3 برنامه هایی برای این کار هستن که میتونن هندل رو بخوبی بهتون نشون بدن خواستی پیغام خصوصی بده برات بفرستم چون فایل exe هست و قرار دادنش اینجا خلاف مقرراته ولی برای کار با یاهو باید کار با پکت ها و کنترل winsock رو یاد بگیرید و لی تجرباتی که من و بعضی از اساتید سایتهای دیگه در این مورد نشون میده اکیدا توصیه میکنم با یاهو کار نکنید و کار کردش باهاش رو فقط در حد افزایش دانش خودتون برای جاهای دیگه تجربه کنید و دلیلش هم اینه که یاهو پکتهاش رو مرتب تغییر میده