۰۷-تير-۱۳۸۷, ۰۲:۳۰:۴۳
صفحهها: 1 2
۰۷-تير-۱۳۸۷, ۱۱:۰۷:۴۲
میتونین با sendmessage یا postmessage و wm_char اطلاعات خودتونو به هر پنجرهای ارسال کنین
کد:
postMessage(handle, WM_CHAR, Word(char), 0);
۰۷-تير-۱۳۸۷, ۲۰:۱۵:۴۳
مقدار wm_char v رو برابر &H102 قرار دادم ، درسته ؟
اما Word(char) رو متوجه نشدم چطوري كار كنم
يك كاراكتر رو باهاش ارسال مي كنه ؟
اما Word(char) رو متوجه نشدم چطوري كار كنم
يك كاراكتر رو باهاش ارسال مي كنه ؟
۰۷-تير-۱۳۸۷, ۲۳:۵۸:۳۵
شما handle اون پنجرهای که میخواهید کلیدها رو بهش ارسال کنین رو بدست مییارین که میشه همون handle بعد تو پارامتر دومی باید نوع پیغام ارسالی مشخص باشه که wm_char هست پارامتر سوم و چهارم رو هم همین wm_char مشخص میکنه که سومی یه مقدار word یک حرف هست و مقدار چهارم 0 هست چون بهش احتیاجی نیست
که #41 مقدار word مربوط به کلید A میباشد
کد:
Sendmessage(controlhandle,wm_char,#41,0);
نقل قول: 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]
۰۸-تير-۱۳۸۷, ۲۰:۵۴:۵۰
من اين رو نوشتم
كار ميكنه
اما فقط داخل فرم خودم
چطوري مي تونم فوكوس برنامه هاي ديگه رو ببينم دست كدوم كنترل هست
کد:
SendMessage GetFocus, WM_CHAR, CLng(65), 0&
اما فقط داخل فرم خودم
چطوري مي تونم فوكوس برنامه هاي ديگه رو ببينم دست كدوم كنترل هست
۰۹-تير-۱۳۸۷, ۰۳:۴۸:۰۲
getfocus که نباید مشکلی داشته باشه
ولی میتونین از getforgroundwindow هم استفاده کنین
یا اول هندل اون کنترل رو با findwindow و findwindowex بدست بیارن و اون هندل رو پاس بدین به send message
ولی میتونین از getforgroundwindow هم استفاده کنین
یا اول هندل اون کنترل رو با findwindow و findwindowex بدست بیارن و اون هندل رو پاس بدین به send message
۰۹-تير-۱۳۸۷, ۱۲:۱۱:۴۲
lord_viper نوشته است:getfocus که نباید مشکلی داشته باشهبهتره برای پیدا کردن کنترل های یک پنجره از FindWindowEx استفاده بشه
ولی میتونین از getforgroundwindow هم استفاده کنین
یا اول هندل اون کنترل رو با findwindow و findwindowex بدست بیارن و اون هندل رو پاس بدین به send message
که می شه پنجره مادر رو از طریق FindWindow بدست آورد
۰۹-تير-۱۳۸۷, ۲۰:۰۳:۲۱
با getforgroundwindow و GetActiveWindow داخل sendmessage و pstmessage امتحان كردم جواب نداد ، همون مشكلي رو داره كه قطعه كد mojtabamalaekeh داشت
با getfocus هم امتحان كردم جواب داد ، اما getfocus فقط هندل كنترلي كه درون برنامه من فوكوس داره بهم ميده
حالا مي خوام ببينم توي برنامه هاي ديگه فوكوس دست كدوم كنترل هست ، !؟
با findwindow و findwindowex هم نتونستم اين كار رو انجام بدم
Help me ! Please
با getfocus هم امتحان كردم جواب داد ، اما getfocus فقط هندل كنترلي كه درون برنامه من فوكوس داره بهم ميده
حالا مي خوام ببينم توي برنامه هاي ديگه فوكوس دست كدوم كنترل هست ، !؟
با findwindow و findwindowex هم نتونستم اين كار رو انجام بدم
Help me ! Please
۰۹-تير-۱۳۸۷, ۲۱:۴۳:۴۱
چرا می خوای بدونی فوکوس دست کدومه؟
۱۰-تير-۱۳۸۷, ۱۲:۳۲:۴۴
اين تابع sendmessage و postmessage كليدي رو كه ميخوام ارسال ميكنه
اما به اون كنترلي ارسال مي كنه كه هندل رو بهش دادم
خوب اگر با getwindow يا activewindow كار كنم ، هندل فرم رو برميگردونه
پس در اين صورت من كليد رو دارم به فرم ارسال مي كنم نه به كنترل فوكوس دار
حالا مي خوام زماني كه فوكوس دست يك كنترلي مثل textbox هست و كليد رو ارسال كردم اون كنترل كليد رو دريافت كنه
الان مشكل من فقط همينه : (هندل كنترلي رو مي خوام كه درون برنامه اي ديگه فوكوس رو در دست داره )
ممنون
اما به اون كنترلي ارسال مي كنه كه هندل رو بهش دادم
خوب اگر با getwindow يا activewindow كار كنم ، هندل فرم رو برميگردونه
پس در اين صورت من كليد رو دارم به فرم ارسال مي كنم نه به كنترل فوكوس دار
حالا مي خوام زماني كه فوكوس دست يك كنترلي مثل textbox هست و كليد رو ارسال كردم اون كنترل كليد رو دريافت كنه
الان مشكل من فقط همينه : (هندل كنترلي رو مي خوام كه درون برنامه اي ديگه فوكوس رو در دست داره )
ممنون
۱۰-تير-۱۳۸۷, ۱۹:۲۶:۵۶
vz67 نوشته است:اين تابع sendmessage و postmessage كليدي رو كه ميخوام ارسال ميكنهجناب vz67 وقتی که پنجرهای فوکوس روش هست هر کلیدی که فشار بدین به همون پنجره میره وقتی فوکس روشه و مستقیم متن تایپی شما به اون کنترل میره شما چرا میخواهی این کارو بکنی؟
اما به اون كنترلي ارسال مي كنه كه هندل رو بهش دادم
خوب اگر با getwindow يا activewindow كار كنم ، هندل فرم رو برميگردونه
پس در اين صورت من كليد رو دارم به فرم ارسال مي كنم نه به كنترل فوكوس دار
حالا مي خوام زماني كه فوكوس دست يك كنترلي مثل textbox هست و كليد رو ارسال كردم اون كنترل كليد رو دريافت كنه
الان مشكل من فقط همينه : (هندل كنترلي رو مي خوام كه درون برنامه اي ديگه فوكوس رو در دست داره )
ممنون
دقیقا بگین چکار میخواهید بکنید و برای چه برنامه ای هست تا بتونم بهتر بهتون توضیح بدم
صفحهها: 1 2