PDA

View Full Version : آیا امکانش هست یه برنامه رو از خارج کنترل کرد؟



white fox
پنج شنبه 22 دی 1384, 06:24 صبح
با سلام...
ببخشید که سوالم یه مقداری گنگه....توضیح میدم.
من برای یه کاریم از یه برنامه استفاده میکنم که حالت تکراری برام داره...همش باید یه دکمه ای رو کلیک کنم....
میخواستم بدونم راهی هست که مثلا من یه برنامه بنویسم حتی عیبی نداره برنامه مذکور هم اجرا بشه اما خود به خود کدی که برای روال دکمه اون برنامه نوشتن اجرا بشه...
انگار که وقتی مثلا ما با برنامه نویسی برنامه مذکور رو اجرا کنیم و خود به خود کد درون اون دکمه اجرا بشه...
البته من برنامه رو تست کردم حالت کار کامندی به همراه پارامتر نداره...برا همین مجبورم حتما همون روش بالا رو انجام بدم

meh_secure
پنج شنبه 22 دی 1384, 22:40 عصر
اگه قصد انجام این کار در برنامه compile شده رو دارید که نمیشه.
اما اگه Source Code در اختیارتون هست می تونید این کار رو بکیند.
فرض کنید اون کلیدی که ازش نام می برید به نام Command1 باشه.
در رویداد form_load کد مربوط به کلیک Command1 رو فراخوانی کنید.

Call Command1_Click

Hamedm
پنج شنبه 22 دی 1384, 23:32 عصر
با سلام...
ببخشید که سوالم یه مقداری گنگه....توضیح میدم.
من برای یه کاریم از یه برنامه استفاده میکنم که حالت تکراری برام داره...همش باید یه دکمه ای رو کلیک کنم....
میخواستم بدونم راهی هست که مثلا من یه برنامه بنویسم حتی عیبی نداره برنامه مذکور هم اجرا بشه اما خود به خود کدی که برای روال دکمه اون برنامه نوشتن اجرا بشه...
انگار که وقتی مثلا ما با برنامه نویسی برنامه مذکور رو اجرا کنیم و خود به خود کد درون اون دکمه اجرا بشه...
البته من برنامه رو تست کردم حالت کار کامندی به همراه پارامتر نداره...برا همین مجبورم حتما همون روش بالا رو انجام بدم
سلام

با توابع API این کار امکان پذیره (ولی خیلی مشکله).

در پناه حق موفق باشید و پرتوان

white fox
جمعه 23 دی 1384, 06:15 صبح
سلام آقای محمدی .....
من خودم یه فکری به ذهنم رسیده ببینید جواب میده بخوام روش کار کنم یا نه امکان پذیر نیست
با برنامه من برنامه مورد نظر اجرا بشه بعد محل x و y دکمه رو بشه با API بدست آورد موس رو به اون مکان منتقل کرد و عمل کلیک سمت چپ رو شبیه سازی کرد....
در همه موارد میدونم امکان پذیر هست میمونه فقط اینکه آیا میشه محل x و y یک دکمه ای رو روی screen شناسائی کرد یا خیر؟

حامد مصافی
جمعه 23 دی 1384, 11:20 صبح
جناب white fox شما برای این کار باید Caption یا کلاس پنجره مادر رو بدونید ( تا بتونید اونو پیدا کنید) و باید عنوان دکمه رو نیز بدونید

اگه اینا رو می دونید بگید تا من برنامشو بنویسم

Typisch_VB6
جمعه 23 دی 1384, 13:25 عصر
ta aghayoone Blackdal & mohamadi hastand man khejalat mikesham chizi begam vali ...

fekr konam age Window e morede nazaro Ba Findwindow & Setforeground window fa'al koni....
on vaght age az hotkey masalan Alt+X estefade shode bashe mitooni ba estefade az

...

sendkeys "%{x}",1
key % neshangare Alt , 1 ham time morede nazar hast estefade koni

.......
__________________________________________________ ___________
I'm standing in the circle of humans...

حامد مصافی
جمعه 23 دی 1384, 21:47 عصر
جناب Typisch_VB6 (http://www.barnamenevis.org/forum/member.php?u=8947) روش شما درسته

ولی وقتی دکمه مورد نظر رو فعال کردیم بهتره دکمه Space رو فشار بدیم

Typisch_VB6
جمعه 23 دی 1384, 23:16 عصر
salam BlackDal aziz

hengam fa'al shodan khodet button Clcik mishe ...:)
_____________________________________________-
I'm standing in the circle of humans ...

white fox
شنبه 24 دی 1384, 05:44 صبح
ممنون از توجه همه شما دوستان عزیز...
جناب BlackDal عزیز...
به کپشن برنامه رو که میدونم بالاخره برنامه داره هر دفعه جلوم باز میشه میشه دید....
اگر منظورتون از عنوان دکمه نامی هست که در حین برنامه نویسی دادن که خیر (از کجا بدونم) اما منظورتون کپشن دکمه هست که اونم بله چون روی دکمه کلیک میکنم بالاخره دکمه مشخصه و عنوانشم مشخصه....
ممنون میشم راهنمایی کنید...و اون کد نمونه رو برام بزارید
یا اگر حوصلتون نمیکشه یا وقت ندارید بگید از چهAPI هایی برای پیدا کردن اون پنجره و اون دکمه استفاده میکنید خودم سعی میکنم برم درش بیارم

اَرژنگ
شنبه 24 دی 1384, 06:35 صبح
salam BlackDal aziz

hengam fa'al shodan khodet button Clcik mishe ...:)
_____________________________________________-
I'm standing in the circle of humans ...

سلام بلک دال عزیز
هنگامه فعال شدن خدت باتن کلیک میشه ..:)

اینجا بعضیها پستیهایی را که با لاتین نوشته میشه را حدف میکنند، میتونید از fingilish.com (http://www.barnamenevis.org/forum/fingilish.com)استفاده کنید که متنتان را به الفبا عربی تبدیل کنید.

Typisch_VB6
شنبه 24 دی 1384, 22:21 عصر
Findwindow

Setforegroundwindow

va tavabe sendkeys

white fox
یک شنبه 25 دی 1384, 06:51 صبح
ممنون از توضیحاتتون
اما این توابعی که گفتید برای زمانی هست که برنامه من یا HotKey داشته باشه یا کلید میانبری که با alt فعال بشه که از شانس بد من هیچکدومو نداره....
اگر میشه توابعی رو بگید که بتونم اون دکمه رو پیداش کنم که بتونم روش موس رو منتقل کنم..
فکرنکنم راه دیگه ای اشته باشم

Typisch_VB6
دوشنبه 26 دی 1384, 20:43 عصر
Dim x
x = FindWindow(vbNullString, "Form1")
If x <> 0 Then
SetForegroundWindow x
SendKeys "{TAB}", 10000
SendKeys "{ENTER}", 10000
End If

'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''
be te'dadi ke midooni lazem hast tab bede
_____________________________________________
I'm standing in the circle of humans ...