PDA

View Full Version : شبیه سازی کلیک کردن یک دکمه در برنامه دیگر



soroush_vs
شنبه 15 خرداد 1389, 00:06 صبح
سلام
من میخام با استفاده از هندل یک دکمه که در برنامه دیگه هست اون رو کلیک کنم.
این کار به چه صورتی هست؟
چطور باید این کار رو بکنم؟
مراحلش چیه؟
فرض رو بر این بگیرید که هندل دکمه رو دارم.
ممنونم.

Felony
شنبه 15 خرداد 1389, 05:45 صبح
var
Hand: THandle;
begin
// Hand:= Your button handle
PostMessage(Hand, WM_LBUTTONDOWN, 0, 0);
PostMessage(Hand, WM_LBUTTONUP, 0, 0);
end;

soroush_vs
شنبه 15 خرداد 1389, 12:18 عصر
متشکرم
اما این جواب نمیده فکر میکنم این واسه ویندوز 98 اوکی بود

Felony
شنبه 15 خرداد 1389, 12:42 عصر
ربطی به نسخه ویندوز نداره ، پیغام های ارسالی جزء پیغام های استاندارد سیستم عامل ویندوز هستن ، من همین الان تو ویندوز 7 تست کردم و مشکلی نداشت .

از صحت Handle اطمینان دارید ؟

baradar
یک شنبه 16 خرداد 1389, 18:48 عصر
با سلام
از تابع زیر که برای سیستم عامله استفاده کن

SendMessage()

Felony
یک شنبه 16 خرداد 1389, 19:47 عصر
با سلام
از تابع زیر که برای سیستم عامله استفاده کن

SendMessage()

چه ربطی داره ؟
هر دو تابع SendMessage و PostMessage جزء توابع استاندارد API ویندوز هستند .

وقتي با استفاده از تابع SendMessage پيامي ارسال مي كنيد ، تابع منتظر دريافت پيامي از طرف برنامه مقصد می ماند كه نشان ميدهد پيامش به درستي ارسال شده . مثل زماني كه شما sms اي ارسال مي كنيد و بعد منتظر Delivery reportش مي مانيد . SendMessage هم به همين صورت هست. درواقع تضمين ميكنه تا زماني كه پيامش به درستي ارسال نشده باشه روال برنامه ادامه پيدا نميكنه. و گاهي موجب فریز شدن برنامه ميشه ، چون ممکنه برنامه ی مقصد نتونه به پیغام ارسال شده پاسخ بده .
ولي PostMessage بلافاصله پيام رو ارسال مي كنه و منتظر هيچ بازخوردي هم نميمونه و برنامه به کار عادی خودش ادامه میده و هیچ تضمینی نمیکنه که پیغام ارسالی توسط برنامه مقصد دریافت یا پردازش شده باشه .

tdkhakpur
دوشنبه 17 خرداد 1389, 22:30 عصر
اما این جواب نمیده فکر میکنم این واسه ویندوز 98 اوکی بود
در حالت کلی پیغام خاصی مختص click وجود ندارد شما باید با بررسی event مربوط به پیغامهای WM_LBUTTONUP, WM_LBUTTONDOWN این نوع رویداد را در پروسه اشیا تشخیص بدید.

Felony
دوشنبه 17 خرداد 1389, 23:26 عصر
در حالت کلی پیغام خاصی مختص click وجود ندارد شما باید با بررسی event مربوط به پیغامهای WM_LBUTTONUP, WM_LBUTTONDOWN این نوع رویداد را در پروسه اشیا تشخیص بدید.
تشخیص پیغام چه ربطی به شبیه سازی عمل کلیک داره ؟! ایشون خواستن که روی یک دکمه به صورت مجازی ( غیر مستقیم و بدون دخالت اشاره گر موس ) کلیک کنن که راهش رو هم من در پست اولم ارائه دادم !

tdkhakpur
سه شنبه 18 خرداد 1389, 00:59 صبح
تشخیص پیغام چه ربطی به شبیه سازی عمل کلیک داره ؟! ایشون خواستن که روی یک دکمه به صورت مجازی ( غیر مستقیم و بدون دخالت اشاره گر موس ) کلیک کنن که راهش رو هم من در پست اولم ارائه دادم !
آفرین بر تو!
حالا بهش یاد هم بده که به چه شکل در حالت گرافیک و تغییر حالت -با توجه به پیغام شما عکس العمل نشان بدهد.

Felony
سه شنبه 18 خرداد 1389, 07:03 صبح
آفرین بر تو!
حالا بهش یاد هم بده که به چه شکل در حالت گرافیک و تغییر حالت -با توجه به پیغام شما عکس العمل نشان بدهد.

ببین دوست عزیز بنده با شما دشمنی ندارم ، ولی دیگه داری شورشو در میاری ، اینقدر تو این انجمن پست های فاقد محتوا دادی که خدا میدونه ، در آخر هم برای اینکه بگی حرفت درست بوده با حرف های بچه گانت بحث تاپیک رو به جنجال میکشی یا میگی تخصص من در C هست و زیاد با دلفی کار نکردم !

نمونش همین پست ، پستی که در مورد رسم نمودار بود ( بحث تفنگ و مانیتور و ... ) ، پستی که در مورد تشخیص فریز شدن برنامه بود و در جواب اون کاربر گفتی باید بری و یک سخت افزار برای CPU طراحی کنی و چند صد تای دیگه ... !

عزیز من اگر تخصصت تو C هست ، انجمن C ، انجمن پائینی دلفی هست .

چندین بار هم من و دیگر دوستان بهت گفتیم در مباحثی که درشون تخصص نداری شرکت نکن یا حداقل حرف بقیه رو قبول کن ( انتقاد پذیر باش ) ، این حرف شما چه معنایی داره که میگی " آفرین به تو ! " ؟

خلاصه بگم این بچه بازیهات رو بزار کنار و فکر نکن مخاطبت بلد نیست جوابت رو بده !

ببین تا به حال روی یک Button کلیک کردی ؟ الان برو ماشین حساب ویندوز رو باز کن و روی یکی از دکمه هاش کلیک کن ، خوب دیدی چی شد ؟

حالا ایشون میخوان توی برنامشون روی یک دکمه با موس کلیک کنن و با این کار مثلا دکمه 1 ماشین حساب ویندوز فشار داده بشه ، Do you understand ؟

tdkhakpur
سه شنبه 18 خرداد 1389, 11:55 صبح
از حرفهای دیگرتان یر در نیاوردم ولی در مورد

چندین بار هم من و دیگر دوستان بهت گفتیم در مباحثی که درشون تخصص نداری شرکت نکن یا حداقل حرف بقیه رو قبول کن ( انتقاد پذیر باش ) ، این حرف شما چه معنایی داره که میگی " آفرین به تو ! " ؟

آفرین برتو یعنی وقتی در مورد چیزی که کم میاری میپری وسط و میگی این رو خودم میدونستم.
در ضمن در مورد اون پاسخی را که ارسال کردید فکر نکنم کسی پیدا بشه و ندونه که postmessage و sendmesage چه کار انجام میده.
در مورد ماشین حساب - عکسل اعملهای کلیدهای ماشین حساب با توجه به دو تابع فوق اجرا و نمایش داده نمیشود شما باید بری در مورد repaintو همچنین update کنترلها هم مطاله کنید تا بدانی فقط ارسال پیغام برای انجا یک رویداد فقط با توجه به دو یا سه پیغام خاص نیست 101 پیغام دیگر هم در این بین هست که باید کنترل شود.


حالا ایشون میخوان توی برنامشون روی یک دکمه با موس کلیک کنن و با این کار مثلا دکمه 1 ماشین حساب ویندوز فشار داده بشه ، Do you understand ؟

باز آفرین - خب تو یه کاری بکن که وقتی پیغام ارسال کردی button بره پایین و دوباره برگرده بالا و با چشم دیده بشه.
فکر کنم دوستمان این رو میخاد
انسان باید در مورد سایر بحثهای دیگر که سایرین در موردش بحث می کنند و سر در نمی اورد مداخله نکنه بهتره.

Felony
سه شنبه 18 خرداد 1389, 12:12 عصر
از حرفهای دیگرتان یر در نیاوردم ولی در مورد
منم بودم سر در نمیاوردم ... !


آفرین برتو یعنی وقتی در مورد چیزی که کم میاری میپری وسط و میگی این رو خودم میدونستم.
هر چی تاپیک رو میخونم جایی نمیبینم که اول شما پست زده باشید و من پریده باشم وسط بلمه دقیقا بلعکس هست ، مطمئنی تاپیک رو از آخر به اول نخوندین ؟


در ضمن در مورد اون پاسخی را که ارسال کردید فکر نکنم کسی پیدا بشه و ندونه که postmessage و sendmesage چه کار انجام میده.
من نمیدونستم همه برناامه نویسا مادرزادی با توابع PostMessage و SendMessage آشنایی دارن !


در مورد ماشین حساب - عکسل اعملهای کلیدهای ماشین حساب با توجه به دو تابع فوق اجرا و نمایش داده نمیشود شما باید بری در مورد repaintو همچنین update کنترلها هم مطاله کنید تا بدانی فقط ارسال پیغام برای انجا یک رویداد فقط با توجه به دو یا سه پیغام خاص نیست 101 پیغام دیگر هم در این بین هست که باید کنترل شود.
این مزخرفات رو بهتره در انجمن های برنامه نویسی سایت های عمومی که توش یک مشت یچه اومدن در مورد معدل گیری صحبت کنن ارائه بدی نه در یک جمع تخصصی ، پسر خوب منم میدونم 1000 تا پیغام اجرا میشه ، ولی چه ربطی به سوال پرسیده شده داره ؟ الان برای اینکه یه دکمه رو فشار بدیم باید در مورد رویداد Paint دکمه تحقیق کنیم ؟


انسان باید در مورد سایر بحثهای دیگر که سایرین در موردش بحث می کنند و سر در نمی اورد مداخله نکنه بهتره.

آئینه چو نقش تو بنمود راست ، خود شکن آئینه شکستن خطاست

tdkhakpur
سه شنبه 18 خرداد 1389, 12:21 عصر
این مزخرفات رو بهتره در انجمن های برنامه نویسی سایت های عمومی که توش یک مشت یچه اومدن در مورد معدل گیری صحبت کنن ارائه بدی نه در یک جمع تخصصی ، پسر خوب منم میدونم 1000 تا پیغام اجرا میشه ، ولی چه ربطی به سوال پرسیده شده داره ؟ الان برای اینکه یه دکمه رو فشار بدیم باید در مورد رویداد Paint دکمه تحقیق کنیم ؟

برای چی نارحت میشی؟ شما نه اینکه زود میخای پست بزنی به نوع خواسته دیگران توجه نمیکنید.
اولا ایشان میخواهند از راه دور پیغام Click را شبیه سازی کنن نه ارسال پیغامهای فشار کلید بصوزت upو down.
دوما از اینکه بحث شبیه سازی به اون آسونی نیست که با ارسال پیغامهایی که شما در پستتان ارسال کردید باشد.
سوما اینکه شما جواب سوال رو بده - به قول بعضیها جواب را با سوال خودت نپیچون.
و آخر اینکه من مبتدی هستم و تو مبتکر بیا در حق من لطفی کن و با کدهای خودت کاری کن که کلیک بصورت Vishual شبیه سازی بشود یعنی کدهای شما باعث شود که یک button با ارسال پیغام با کدهای شما یک بار به پایین برود و دوباره بالا بیاد و تغییرات حالت Button هم قابل مشاهده باشد.
لطفا بحث را انشایی نکن دمت گرم.

Felony
سه شنبه 18 خرداد 1389, 13:17 عصر
هنوز نمیدونی شبیه سازی یعنی اینکه تمام جوانب رو در نظر بگیریم ؟ شما که میگی همه میدونن توابع SendMessage و postMessage چی هست ، حتما یه مرور دوباره ای روشون انجام بده !

نمونه زیر رو همراه با کد گزاشتم ، روی دکمه کلیک کن و چشاتو خوب باز کن تا ببینی چی میشه !

البته اگر ویندوزتون 7 نیست خودتون کلاس و نام شئ رو در تابع Findwindow تغییر بدید .

tdkhakpur
سه شنبه 18 خرداد 1389, 13:25 عصر
چشامو باز کردم ربطی نداشت!!
برو این شعبده بازیها را برای کسایی در بیار که هم تراز تو باشن.
این دو سه خط را که قبلا ارسال کرده بودی کلا اونی نیست که منظور تاپیک را حل کنه.
در ضمن لازم نیست با کدهای بی ربط کدت رو بپیچونی - روی فرم دو button قرار بده و این بازیها رو در بیار و هم چشم و هم گوشاتو قشنگ باز کن و یاد بگیر که شبیه ساری به این آسونیها نیست.

Felony
سه شنبه 18 خرداد 1389, 13:43 عصر
و آخر اینکه من مبتدی هستم و تو مبتکر بیا در حق من لطفی کن و با کدهای خودت کاری کن که کلیک بصورت Vishual شبیه سازی بشود یعنی کدهای شما باعث شود که یک button با ارسال پیغام با کدهای شما یک بار به پایین برود و دوباره بالا بیاد و تغییرات حالت Button هم قابل مشاهده باشد.


چشامو باز کردم ربطی نداشت!!
برو این شعبده بازیها را برای کسایی در بیار که هم تراز تو باشن.
:قهقهه: واقعا که نمونه ای ...


در ضمن لازم نیست با کدهای بی ربط کدت رو بپیچونی - روی فرم دو button قرار بده و این بازیها رو در بیار و هم چشم و هم گوشاتو قشنگ باز کن و یاد بگیر که شبیه ساری به این آسونیها نیست.
چرا عصبی میشی برادر ؟
یه درخواستی دادی ، منم برات انجام دادمش تا ببینی که میشه !

دیگه تو این تاپیک کاری ندارم ، با خوندن همین پست ها همه چیزو میشه فهمید ...

tdkhakpur
سه شنبه 18 خرداد 1389, 14:07 عصر
چرا عصبی میشی برادر ؟

کو!

یه درخواستی دادی ، منم برات انجام دادمش تا ببینی که میشه !

من هم آفرین را برای این نوع حواب دادنت گفتم و تو ناراحت میشدی!
تو راست میگی شبیه سازی همینه که تو میدونی خسته نباشی!!:لبخندساده:

حمیدرضاصادقیان
سه شنبه 18 خرداد 1389, 14:20 عصر
سلام


من میخام با استفاده از هندل یک دکمه که در برنامه دیگه هست اون رو کلیک کنم.




حالا بهش یاد هم بده که به چه شکل در حالت گرافیک و تغییر حالت -با توجه به پیغام شما عکس العمل نشان بدهد.


دوست عزیز جواب همونی هست که اقای تاجیک نوشتند. وقتی که میخوان عمل کلیک رو شبیه سازی کنند میخوان به فرض یک کاری در یک پنجره دیگه صورت بگیره. مثلا من میخوام در برنامه ام وقتی دکمه Ok کلیک شد در منوی Run دکمه Browse عمل کنه دیگه برای من مهم نیست که دکمه اون حالت گرافیکی داره یا نه. و روش این کار هم همونی هست که آقای تاجیک گفتند.
شما بهتره مقداری دقیقتر سوال رو مطالعه کنید و بحث علمی رو به وارد جنجال نکنید.
:لبخندساده:

tdkhakpur
سه شنبه 18 خرداد 1389, 14:40 عصر
وقتی که میخوان عمل کلیک رو شبیه سازی کنند میخوان به فرض یک کاری در یک پنجره دیگه صورت بگیره

به این کار میگن ارسال پیغام برای یک کنترل نه شبیه سازی!!


شما بهتره مقداری دقیقتر سوال رو مطالعه کنید و بحث علمی رو به وارد جنجال نکنید

http://barnamenevis.org/forum/showpost.php?p=1003069&postcount=3

مصطفی ساتکی
سه شنبه 18 خرداد 1389, 14:46 عصر
برای شبیه سازی که مد نظر جناب tdkhakpur (http://barnamenevis.org/forum/member.php?u=99732) به صورت زیر می تونید عمل کنید

procedure TForm1.Btn1Click(Sender: TObject) ;
var
Pnt : TPoint;
begin
Application.ProcessMessages;
Pnt.x := Btn2.Left + (Btn2.Width div 2) ;
Pnt.y := Btn2.Top + (Btn2.Height div 2) ;
Pnt := ClientToScreen(Pnt) ;
Pnt.x := Round(Pnt.x * (65535 / Screen.Width)) ;
Pnt.y := Round(Pnt.y * (65535 / Screen.Height)) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pnt.x, Pnt.y, 0, 0) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pnt.x, Pnt.y, 0, 0) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pnt.x, Pnt.y, 0, 0) ;
end;

Felony
سه شنبه 18 خرداد 1389, 15:35 عصر
به این کار میگن ارسال پیغام برای یک کنترل نه شبیه سازی!!

http://barnamenevis.org/forum/showpost.php?p=1003069&postcount=3
شما سوال کاربر رو یک بار دیگه بخون ، اگر کاربر نتونسته با کد گزاشته شده مشکلش رو حل کنه به کد ایرادی نیست ، بلکه ایراد از اطلاعات کم کاربر هست .


برای شبیه سازی که مد نظر جناب tdkhakpur (http://barnamenevis.org/forum/member.php?u=99732) به صورت زیر می تونید عمل کنید

procedure TForm1.Btn1Click(Sender: TObject) ;
var
Pnt : TPoint;
begin
Application.ProcessMessages;
Pnt.x := Btn2.Left + (Btn2.Width div 2) ;
Pnt.y := Btn2.Top + (Btn2.Height div 2) ;
Pnt := ClientToScreen(Pnt) ;
Pnt.x := Round(Pnt.x * (65535 / Screen.Width)) ;
Pnt.y := Round(Pnt.y * (65535 / Screen.Height)) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pnt.x, Pnt.y, 0, 0) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pnt.x, Pnt.y, 0, 0) ;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pnt.x, Pnt.y, 0, 0) ;
end;

کد شما مکان نما رو به یک شئ که در برنامه هست منتقل میکنه و بعد روش کلیک میکنه ، جایی از کد نمیبینم که بشه هندل یک شئ رو بهش داد پس با این کد نمیشه روی یک شئ که بیرون از برنامه هست کلیک کرد ( با توجه به عنوان سوال کاربر ایجاد کننده تاپیک ) ، البته شما هم نمونه کد درخواستی آقای tdkhakpur رو ارائه دادید و به درخواست ایشون ایرادی نیست !

مصطفی ساتکی
سه شنبه 18 خرداد 1389, 15:56 عصر
جناب مجتبی تاجیک (http://barnamenevis.org/forum/member.php?u=63881) این یه مثال بود که بحث خاتمه پیدا کنه.
برای دریافت position مربوط به Handle می تونید از getwindowinfo یا GetWindowRect استفاده کنید.

Mahmood_M
سه شنبه 18 خرداد 1389, 16:40 عصر
باعث تاسفه که برخی پستها باعث میشه به فکر قفل کردن یا حذف تاپیک بیافتیم !
یک بار دیگه سئوال رو بررسی می کنیم :

سلام
من میخام با استفاده از هندل یک دکمه که در برنامه دیگه هست اون رو کلیک کنم.
این کار به چه صورتی هست؟
چطور باید این کار رو بکنم؟
مراحلش چیه؟
فرض رو بر این بگیرید که هندل دکمه رو دارم.
ممنونم.
دوست ما هندل یک دکمه رو داره و می خواد که از طریق برنامه ی خودش رویداد کلیک شدن اون دکمه رو اجرا کنه ، خوب وقتی هندل یک دکمه رو داریم می تونیم پیغامهای Down و Up مربوط به موس رو به دکمه ارسال کنیم و به نوعی روی دکمه کلیک کنیم ، یعنی همون دستوراتی که جناب تاجیک گذاشتن ...
چه لزومی داره بیایم موس رو به روی دکمه ببریم و به موس بگیم که فشرده بشه !! ، البته این هم یک راه هست ولی اصلا هیچ ارجعیتی نسبت به راه اول نداره ...
وقتی میشه با دو خط کد و انجام چند عمل ساده به هدف رسید چرا روش دوم رو انتخاب کنیم ، چه مزیتی داره ؟ اصولی تره !؟! یا اینکه به عبارت " شبیه سازی " نزدیک تره ؟!
اگر گیریم که هدف شبیه سازی باشه ؟ باز هم بردن موس به روی دکمه و فشردن اون !! شبیه سازی نیست بلکه عمل عادی کلیک هست ! باز همون راه اول به شبیه سازی نزدیک تره ...
کاربری که سئوال می پرسه دوست داره زودتر و به راحت ترین شکل ممکن به جواب برسه ، وقتی موضوع تاپیک رو عوض کنیم و دو سه صفحه از بحث تاپیک رو به کل کل خودمون اختصاص بدیم ، کاربری که سئوال پرسیده نه تنها به جوابش نمی رسه ، بلکه سر در گم میشه که کدوم راه درسته و کدوم کاربر داره اشتباه می کنه !

امیدوارم بحث خاتمه پیدا کنه ، جناب soroush_vs هم اگر مشکلشون حل شده لطفا اعلام کنن تا پرونده ی این بحث بسته بشه ... !!
هر کدوم از دوستان که فکر میکنه مشکلی وجود داره و باید از روش دیگه ای استفاده بشه ، حتی الامکان با چند مثال توضیح بده که چرا و چگونه ؟!!

موفق باشید ...

tdkhakpur
سه شنبه 18 خرداد 1389, 19:45 عصر
چه لزومی داره بیایم موس رو به روی دکمه ببریم و به موس بگیم که فشرده بشه !! ، البته این هم یک راه هست ولی اصلا هیچ ارجعیتی نسبت به راه اول نداره ...


ولی به نظرم کدی که آقای delphi_cat ارسال کردند ریزترین کاری در مورد شبیه سازی هست که یک برنامه نویس باید بهش احترام بزاره.
کاری که ایشون ارسال کردند بهترین ابزار برای monitoring و آموزش برنامه های کاربردی داخل ویندوز هست و اگر دوستمان منظورشان کلیک باشد بهتر بره سراغ ارسال پیعام به handle ولی اگر برای شبیه سازی و کارهای دیگر باشه کدهای ارسالی delphi_cat میشه گفت آخرین کدی هست که میشود در این مورد ازش استفاده کرد.

soroush_vs
چهارشنبه 19 خرداد 1389, 11:47 صبح
دوستان ببخشید که من چند روزی این پست رو چک نکردم
الان هم جایی هستم که امکان تست ندارم
بنده روشی که دوست عزیزمون آقای تاجیک فرمودند رو قبلا تست کرده بودم اما متاسفانه جواب نگرفتم در اینترنت هم هر چه جستچو کردم روش دوست دیگرمون Delphi_cat رو دیدم یعنی موس رو به محل ببریم و کلیک کنیم.
به هر حال از همگی شما خصوصا آقا تاجیک تشکر میکنم که مصرانه به پست پاسخ دادن

dhexdess
سه شنبه 22 بهمن 1392, 20:36 عصر
با سلام خدمت دوستان گل
من به شخصه برنامه نویس سی شارپ هستم و تصادفی این تاپیکو دیدم،همین مشکل برای یکی از دوستای منم پیش اومده بود که خیلی راحت کلیه کارهایی که قراره تو event کلیک رخ بده رو توی یه تابع عمومی ریختم و
حالا هم اینکه جاهای دیگه میتونم اون تابع رو فراخوانی کنم و هم داخل خود event کلیک دکمه کذایی!!

nilidelphi
چهارشنبه 23 بهمن 1392, 08:41 صبح
آقای تاجیک
روشی که شما گفتید و برنامه ای که بعنوان نمونه گذاشته بودید جواب نداد.
تابع FindWindow در پارامتر اول نام کلاس متانظر با دکمه ی مورد نظر را میخواد خوووووب ما از کجا بدونیم نام کلاس یا نام باتن در برنامه مقصد چیست؟

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

seyed_farid
پنج شنبه 24 بهمن 1392, 00:48 صبح
این یه برنامس که با برنامه Z-dictionary کار میکنه برای دریافت دیتابیس آن و ثبت در دیتابیس خودش:
در حقیقت مقادیر برنامه دیگه رو میخونه و کلید اون برنامه رو Next میزنه و تا آخر رکوردها رو میگیره.
برنامه Z-dictionary را اجرا کنید و این برنامه رو و ....

Felony
پنج شنبه 24 بهمن 1392, 08:19 صبح
آقای تاجیک
روشی که شما گفتید و برنامه ای که بعنوان نمونه گذاشته بودید جواب نداد.
تابع FindWindow در پارامتر اول نام کلاس متانظر با دکمه ی مورد نظر را میخواد خوووووب ما از کجا بدونیم نام کلاس یا نام باتن در برنامه مقصد چیست؟

بنده مثال شمارو برای ماشین حساب ویندوز رو هم تست کردم ولی جواب نگرفتم
اینکه شما از کجا بدونید نام کلاس و عنوان چیه کار پیچیده ای نیست ، مشکل این هست که کاربران اینجا وقتی سوال میکنن دوست دارن یه کدی تحویل بگیرن که کپی کنن تو رویداد OnClick یک Button و نتیجه بگیرن .

Silver Handler Viewer رو در همین سایت جستجو کنید .

khoshblagh
پنج شنبه 24 بهمن 1392, 08:54 صبح
با سلام خدمت دوست عزیز
ظاهرا برنامه قادر به انتقال از دیکشنری مورد نظر نیست! و یا اینکه من نتوانستم . میشه یکبار برنامه تان را بازبینی کنید.توضیح اینکه دیکشنری مورد نظر را فعال و کلمه ای را جستجو و در همان حال برنامه شما اجرا و دکمه ها را امتحان نمودم ولی در نهایت توانستم کاپشن فرم دیکشنری را به بانک برنامه شما منتقل نمایم. متشکرم.

این یه برنامس که با برنامه Z-dictionary کار میکنه برای دریافت دیتابیس آن و ثبت در دیتابیس خودش:
در حقیقت مقادیر برنامه دیگه رو میخونه و کلید اون برنامه رو Next میزنه و تا آخر رکوردها رو میگیره.
برنامه Z-dictionary را اجرا کنید و این برنامه رو و ....

seyed_farid
شنبه 26 بهمن 1392, 08:19 صبح
با سلام.
من یکی دوسال پیش با این کار کردم. درست کار کرد. شاید ورژن جدید دیکشنری که شما دارید با اون فرق کنه.
اما این هم برنامه ای که من باش جواب گرفتم.
دوتا فایل persian و english هم دیتابیسش هست که باید کنارش یذاری.
حجماشون روهم 16 مگ میشه که اینجا نمیتونم بذارمشون.

seyed_farid
جمعه 02 اسفند 1392, 13:20 عصر
دوست عزيز
فايلهايي كه گذاشتم كارتون رو تونست حل كنه؟

khoshblagh
جمعه 02 اسفند 1392, 23:14 عصر
دوست عزيز
فايلهايي كه گذاشتم كارتون رو تونست حل كنه؟
با سلام فقط یک فایل اجرایی هست اما دو فایل ذکر شده در پست 31 را ندارم .به این دلیل نتوانستم از برنامه استفاده نمایم . متشکرم