برگزیده های پرشین تولز

شبیه سازی کلیک کردن تو یه صفح از برنامهء دیگه

shahramg

Registered User
تاریخ عضویت
27 مارس 2005
نوشته‌ها
64
لایک‌ها
0
محل سکونت
ir/teh
چطور میشه این کارو کرد؟ مثلا یه x , y (مختصات تو کل صفحه نمایش) بگیره و روش کلیک کنه انگار خود کاربر با موس کلیک کرده..
 

shahramg

Registered User
تاریخ عضویت
27 مارس 2005
نوشته‌ها
64
لایک‌ها
0
محل سکونت
ir/teh
آقا یکی جواب بده خب! هیچ کس حرفه یی نیست؟!
 

Mamylo

کاربر فعال بازیهای کامپیوتری
کاربر فعال
تاریخ عضویت
19 مارس 2005
نوشته‌ها
949
لایک‌ها
10
سن
33
محل سکونت
کرج
والا مثل اینکه همه تو کفن!!
 

Ace Of Spades

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2006
نوشته‌ها
85
لایک‌ها
0
سن
37
راه حل استفاده از تابع Mouse_Event
به مثال نگاه کنید متوجه می شید
اگه روی تکست باکسه کلیک کنید قرمز می شه
و اگه روی Command4 هم کلیک کنید همین عمل بازسازی می شه

در ضمن فکنم این کار با تابع SendMessage هم عملی بشه ( روش دیگه )
 

فایل های ضمیمه

  • mouse_event.zip
    1.9 KB · نمایش ها: 27

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
چطور میشه این کارو کرد؟ مثلا یه x , y (مختصات تو کل صفحه نمایش) بگیره و روش کلیک کنه انگار خود کاربر با موس کلیک کرده..

آقا یکی جواب بده خب! هیچ کس حرفه یی نیست؟!

راه حل استفاده از تابع Mouse_Event
به مثال نگاه کنید متوجه می شید
اگه روی تکست باکسه کلیک کنید قرمز می شه
و اگه روی Command4 هم کلیک کنید همین عمل بازسازی می شه

در ضمن فکنم این کار با تابع SendMessage هم عملی بشه ( روش دیگه )

سلام
خوب هستيد
همانطور كه دوست ديگرمان ذكر كردند با استفاده از Api mouse_event ميشه اين كار رو كرد

اما هميشه دكمه توي صفحه ( موقيت x , y ) ان ثابت نيست چون موقيت ايكس و ايگرگ ان نصبت به كنار سمت بالا پرنت ويندوز سنجيده ميشه . بهتر براي اين كار شما كلاس اون شي رو پيدا كرده و سپس با استفاده از تابع api - findwindow اون رو پيدا كرده و سپس با استفاده از sendmessage كليك كردن رو پياده سازي كزد

البته اگر مي گفتيد دقيقا چيكار مي خواستيد بكنيد بهتر مي شد كمك كرد
يعني اينكه ايا ميخواهيد دكمه اي را كليك كنيد يا اينكه خطي را مثلا توي صفحه پينت رسم كنيد

---- راستي شايد يكي از دلايلي كه دوستان جواب نداده اند اين باشه كه ----
هیچ کس حرفه یی نیست؟ ...
بعضي ها مثل من حرفه اي نيستند پس جوابي نمي دهند ( الان هم اگر چيزي ميگم بخاطر اينكه به خواست دوستان فعلا براي چند وقت اينجا مديرم )
و يا شايد حرفه اي باشند و حال جواب دادن رو نداشته باشند ( چرا بايد جواب بدهند ؟)

ويا شايد خيلي چيز ها بلند اما به دليل اينكه ممكنه اين جمله براشون جالب نبود ه جوابي نداده اند .

توي فروم شما وقتي يك سئوال مي پرسي كمي بايد صبر داشته باشي

اميدوارم مطالب بالا كمك كنه
 

Ace Of Spades

کاربر تازه وارد
تاریخ عضویت
24 سپتامبر 2006
نوشته‌ها
85
لایک‌ها
0
سن
37
اما هميشه دكمه توي صفحه ( موقيت x , y ) ان ثابت نيست چون موقيت ايكس و ايگرگ ان نصبت به كنار سمت بالا پرنت ويندوز سنجيده ميشه . بهتر براي اين كار شما كلاس اون شي رو پيدا كرده و سپس با استفاده از تابع api - findwindow اون رو پيدا كرده و سپس با استفاده از sendmessage كليك كردن رو پياده سازي كزد
شما می تونید از تابع GetWindowPlacement برای پیدا کردن مختصات پنجره استفاده کنید
یا با همون FindWindow هندل پنجره رو پیدا کرده و بهش پیغام بفرستید
اگه می خواید به یه کنترل توی پنجره پیغام بفرستید باید از FindWindowEX استفاده کنید
 
بالا