امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال كليدهاي مشابه صفحه كليد ! ؟
نویسنده پیام
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #1
ارسال كليدهاي مشابه صفحه كليد ! ؟
سلام
مي خوام به جاي استفاده از Sendkeys از API استفاده كنم
براي اين كار تابعي وجود داره ؟
Question

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۰۷-تير-۱۳۸۷, ۰۲:۳۰:۴۳
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
میتونین با sendmessage یا postmessage و wm_char اطلاعات خودتونو به هر پنجرهای ارسال کنین
کد:
postMessage(handle, WM_CHAR, Word(char), 0);
۰۷-تير-۱۳۸۷, ۱۱:۰۷:۴۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : vz67
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #3
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
مقدار wm_char v رو برابر &H102 قرار دادم ، درسته ؟

اما Word(char) رو متوجه نشدم چطوري كار كنم
يك كاراكتر رو باهاش ارسال مي كنه ؟

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۰۷-تير-۱۳۸۷, ۲۰:۱۵:۴۳
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #4
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
شما handle اون پنجرهای که میخواهید کلیدها رو بهش ارسال کنین رو بدست مییارین که میشه همون handle بعد تو پارامتر دومی باید نوع پیغام ارسالی مشخص باشه که wm_char هست پارامتر سوم و چهارم رو هم همین wm_char مشخص میکنه که سومی یه مقدار word یک حرف هست و مقدار چهارم 0 هست چون بهش احتیاجی نیست
کد:
Sendmessage(controlhandle,wm_char,#41,0);
که #41 مقدار word مربوط به کلید A میباشد
نقل قول: The WM_CHAR message is posted to the window with the keyboard focus when a WM_KEYDOWN message is translated by the TranslateMessage function. WM_CHAR contains the character code of the key that was pressed.

WM_CHAR
chCharCode = (TCHAR) wParam; // character code
lKeyData = lParam; // key data
[/code]
۰۷-تير-۱۳۸۷, ۲۳:۵۸:۳۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : vz67
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #5
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
من اين رو نوشتم
کد:
SendMessage GetFocus, WM_CHAR, CLng(65), 0&
كار ميكنه
اما فقط داخل فرم خودم
چطوري مي تونم فوكوس برنامه هاي ديگه رو ببينم دست كدوم كنترل هست

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۰۸-تير-۱۳۸۷, ۲۰:۵۴:۵۰
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
getfocus که نباید مشکلی داشته باشه
ولی میتونین از getforgroundwindow هم استفاده کنین
یا اول هندل اون کنترل رو با findwindow و findwindowex بدست بیارن و اون هندل رو پاس بدین به send message
۰۹-تير-۱۳۸۷, ۰۳:۴۸:۰۲
وب سایت ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #7
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
lord_viper نوشته است:getfocus که نباید مشکلی داشته باشه
ولی میتونین از getforgroundwindow هم استفاده کنین
یا اول هندل اون کنترل رو با findwindow و findwindowex بدست بیارن و اون هندل رو پاس بدین به send message
بهتره برای پیدا کردن کنترل های یک پنجره از FindWindowEx استفاده بشه

که می شه پنجره مادر رو از طریق FindWindow بدست آورد

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۰۹-تير-۱۳۸۷, ۱۲:۱۱:۴۲
وب سایت ارسال‌ها
پاسخ
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #8
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
با getforgroundwindow و GetActiveWindow داخل sendmessage و pstmessage امتحان كردم جواب نداد ، همون مشكلي رو داره كه قطعه كد mojtabamalaekeh داشت
با getfocus هم امتحان كردم جواب داد ، اما getfocus فقط هندل كنترلي كه درون برنامه من فوكوس داره بهم ميده
حالا مي خوام ببينم توي برنامه هاي ديگه فوكوس دست كدوم كنترل هست ، !؟
با findwindow و findwindowex هم نتونستم اين كار رو انجام بدم
Help me ! Please

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۰۹-تير-۱۳۸۷, ۲۰:۰۳:۲۱
وب سایت ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #9
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
چرا می خوای بدونی فوکوس دست کدومه؟

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۰۹-تير-۱۳۸۷, ۲۱:۴۳:۴۱
وب سایت ارسال‌ها
پاسخ
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #10
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
اين تابع sendmessage و postmessage كليدي رو كه ميخوام ارسال ميكنه
اما به اون كنترلي ارسال مي كنه كه هندل رو بهش دادم
خوب اگر با getwindow يا activewindow كار كنم ، هندل فرم رو برميگردونه
پس در اين صورت من كليد رو دارم به فرم ارسال مي كنم نه به كنترل فوكوس دار
حالا مي خوام زماني كه فوكوس دست يك كنترلي مثل textbox هست و كليد رو ارسال كردم اون كنترل كليد رو دريافت كنه
الان مشكل من فقط همينه : (هندل كنترلي رو مي خوام كه درون برنامه اي ديگه فوكوس رو در دست داره )
ممنون

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۱۰-تير-۱۳۸۷, ۱۲:۳۲:۴۴
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #11
RE: ارسال كليدهاي مشابه صفحه كليد ! ؟
vz67 نوشته است:اين تابع sendmessage و postmessage كليدي رو كه ميخوام ارسال ميكنه
اما به اون كنترلي ارسال مي كنه كه هندل رو بهش دادم
خوب اگر با getwindow يا activewindow كار كنم ، هندل فرم رو برميگردونه
پس در اين صورت من كليد رو دارم به فرم ارسال مي كنم نه به كنترل فوكوس دار
حالا مي خوام زماني كه فوكوس دست يك كنترلي مثل textbox هست و كليد رو ارسال كردم اون كنترل كليد رو دريافت كنه
الان مشكل من فقط همينه : (هندل كنترلي رو مي خوام كه درون برنامه اي ديگه فوكوس رو در دست داره )
ممنون
جناب vz67 وقتی که پنجرهای فوکوس روش هست هر کلیدی که فشار بدین به همون پنجره میره وقتی فوکس روشه و مستقیم متن تایپی شما به اون کنترل میره شما چرا میخواهی این کارو بکنی؟
دقیقا بگین چکار میخواهید بکنید و برای چه برنامه ای هست تا بتونم بهتر بهتون توضیح بدم
۱۰-تير-۱۳۸۷, ۱۹:۲۶:۵۶
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  خواندن و ارسال کردن اطلاعات با پورت سریال SBRE77 18 20,157 ۱۱-مهر-۱۳۹۷, ۰۹:۴۶:۲۸
آخرین ارسال: reza1354
  ارسال متن بهlcd با کمک پرت usb Ghoghnus 1 2,937 ۰۲-مهر-۱۳۹۵, ۰۴:۳۲:۵۸
آخرین ارسال: engzhina
  نیاز به راهنمایی درباره ارسال اطلاعات reza2010wf 2 3,830 ۲۶-شهریور-۱۳۹۴, ۱۱:۵۸:۰۷
آخرین ارسال: Ghoghnus
  ارسال صدا و تصویر mahdi321 2 2,848 ۲۳-شهریور-۱۳۹۴, ۱۲:۱۶:۰۰
آخرین ارسال: kimiafars
  ارسال پارامتر به برنامه ی در حال اجرا. Blossom 42 27,149 ۰۹-اسفند-۱۳۹۳, ۲۲:۴۴:۱۶
آخرین ارسال: 9988
  ارسال ایمیل با ویژوال بیسیک ΛΛ Θ l-l $ Σ Ω 72 65,640 ۰۲-مهر-۱۳۹۳, ۱۲:۲۸:۳۶
آخرین ارسال: yashar_2006
  ارسال ودریافت صدا در Vb mahdi321 2 3,956 ۱۸-مرداد-۱۳۹۳, ۰۰:۵۲:۰۰
آخرین ارسال: Vb6Moderator
  کامپوننت ارسال ایمیل + کرک Di Di 23 20,319 ۱۴-فروردین-۱۳۹۳, ۱۳:۲۲:۴۷
آخرین ارسال: ms_jadoo
  معادل کلید Enter صفحه کلید sepahbod 2 2,926 ۲۴-اسفند-۱۳۹۲, ۱۰:۲۵:۳۲
آخرین ارسال: tiktak990
Exclamation درخواست ارسال پی ام در یاهو alipc1 8 6,093 ۲۲-تير-۱۳۹۲, ۲۱:۱۱:۵۶
آخرین ارسال: Ghoghnus

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS