Fa کپچر کردن تمام کلیدهای کیبورد

بازم سلام و یه سوال دیگه.من میخام با زدن هر یک از کلیدهای کیبورد یه اسکریپت اجرابشه.اولین راهی که به ذهنم رسید استفاده ساده از اسکریپت و فعال کردن run script by pressing بود ولی در این صورت دکمه هایی مثل سیمیکالنن و نقطه رو نمیشه کاری کرد به توصیه یکی از دوستان به سراغ AnyKeyV2ProPlugI رفتم ولی اون هم این کلیدها رو کپچر نمیکنه.
بعد از اون به توصیه یکی دیگه از دوستان به سراغ SysMetrics ولی اونم فقط حالت کلیدی که کد اسکیشو بش میدیم بیان میکنه.
سپس سراغ smallplugin رفتم و بعد از خودن هلپشو ونگاه کردن به مثالاش دیدم که اونم به ازای این کلیدها مقداریو برنمیگردونه.
البته ممکنه در تمام موارد بالا اشتباه کرده باشم.
خلاصه سوال من اینه که:
آیا میشه تمام کلیدهای کیبوردو کپچر کرد واگه کسی این کارو کرده یا راهی بلده ویا از روشای بالا میدونه که من اشتباه کردم خوهشن بگه؟؟
البته با sysmeetric یه جورای میشه که زیادممعقول نیست.
(راستی قبلا تو انجمن سرچ کردم ولی چیزی .........)
 

m javad

کاربر متخصص
راهنمایی

سلام
بهترین راه همون sysmeetric هست. چون تقریبا تمام دکمه های کیبورد رو پوشش میده ( حتی دکمه های اجرای آهنگ و کم یا زیاد کردن صدا و ماشین حساب و ...)
البته غیر معقول هم نیست.
کپچر کردن دکمه های کیبورد معمولا به وسیله تایمر انجام میگیره ( منظورم تو ساخت پلاگینا با دلفی و ... هست)
پس با همون پلاگین کار کنید بهتره.
اگه تو کاربردش سوالی دارید بگید تا بیشتر راهنمایی کنم.
موفق باشید.
 
سلام
اگه تو کاربردش سوالی دارید بگید تا بیشتر راهنمایی کنم.
سلام.ممنون از جوابتون.
من بازم نتونستم این کلیدها رو کپچر کنم.در ساده ترین حالت من اومدم توی مثال kyestate مقدار کد اسکی 65 رو به 91 یا 90 یا 152 یا 223 تغییر دادم تا سیمیکالن رو کپچر کنم ولی درهیچ حالتی جواب نداد.برای کروشه ها هم تست کردم نشد.اگه کمکم کنید یا یه مثال بذارید ممنون میشم.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
با SysMetrics یه جورایی فشرده شدن یه کلید خاص رو چک میکنید ولی با SmallPlugIn میتونید فشرده شدن همه ی کلیدها یا ترکیبی از اونها رو چک کنید.
روال کار بدین شکل هست که شما تعدادی منو میسازید و برای هرکدوم یک کلید میانبر (Shortcut) تعریف میکنید، بعد در قسمت مربوط به فشرده شدن هر کلید (در واقع انتخاب هر آیتم از منو) دستورات موردنظر رو مینویسید، ولی نکته اینجاست که شما منوها رو مخفی میکنید و عملاً هیچ منویی نمایش داده نمیشه و فقط از کلیدهای میانبر اونها برای اینکار استفاده میشه.
متاسفانه الان MMB در دسترس ندارم که مثالش رو براتون بسازم، ولی اگر همون مثال مربوط به پلاگین رو نگاه کنید (مثالی که کلیدهای F1 تا F12 رو فشار میدین و متنی نمایش داده میشه) همین کار رو کرده.
 
با SysMetrics یه جورایی فشرده شدن یه کلید خاص رو چک میکنید ولی با SmallPlugIn میتونید فشرده شدن همه ی کلیدها یا ترکیبی از اونها رو چک کنید.
روال کار بدین شکل هست که شما تعدادی منو میسازید و برای هرکدوم یک کلید میانبر (Shortcut) تعریف میکنید، بعد در قسمت مربوط به فشرده شدن هر کلید (در واقع انتخاب هر آیتم از منو) دستورات موردنظر رو مینویسید، ولی نکته اینجاست که شما منوها رو مخفی میکنید و عملاً هیچ منویی نمایش داده نمیشه و فقط از کلیدهای میانبر اونها برای اینکار استفاده میشه.
متاسفانه الان MMB در دسترس ندارم که مثالش رو براتون بسازم، ولی اگر همون مثال مربوط به پلاگین رو نگاه کنید (مثالی که کلیدهای F1 تا F12 رو فشار میدین و متنی نمایش داده میشه) همین کار رو کرده.
مممنون از پاسختون.ولی من روی همون مثال تست کرده بودم اما نتونستم.البته با توجه به هلپش هیچ حرفی از کروشه و سیمیکالن زده نشده.

Text that identifies the shortcut key is added to the menu item text string. The shortcut text appears to the right of the menu item name, after tab character (CHR(9)). Input string in this case will look like this: '&Close'+CHR(9)+'Alt+F4'. This string represents a Close command with the ALT+F4 key combination as its shortcut key and with the letter "C" as its access key.

Use these strings to specify appropriate key for shortcut:

F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
Backspace
Tab
Enter
Pause
Caps Lock
Esc
Space
PgUp
PgDn
End
Home
Left
Up
Right
Down
Ins
Del
Num *
Num +
Num -
Num /
F1 key F2 key
F3 key
F4 key
F5 key
F6 key
F7 key
F8 key
F9 key
F10 key
F11 key
F12 key
Backspace
Tab
Enter
Pause/Break
Caps lock
Escape key
Space bar
Page Up
Page Down
End
Home
Left key
Up key
Right key
Down key
Insert
Delete
Num pad multiply sign
Num pad add sign
Num pad subtract sign
Num pad divide sign


For keys that represent letters and numbers just use capital letters and numbers: 'A', 'B', 'C'..., '1', '2', '3'...
ولی بازم من هم خود کاراکتر وهم کد اسکیشو گذاشتم کار نکردد
نمودونم شاید اشتباه میکنم ولی اگه شما این کارو به هر طریقی انام دادید ممنون میشم یه مثال بزارید.
 

m javad

کاربر متخصص
راهنمایی

سلام:rose:

ferikoohkan : سلام.ممنون از جوابتون.
من بازم نتونستم این کلیدها رو کپچر کنم.در ساده ترین حالت من اومدم توی مثال kyestate مقدار کد اسکی 65 رو به 91 یا 90 یا 152 یا 223 تغییر دادم تا سیمیکالن رو کپچر کنم ولی درهیچ حالتی جواب نداد.برای کروشه ها هم تست کردم نشد.اگه کمکم کنید یا یه مثال بذارید ممنون میشم.
این حرفتون منو متعجب کرد
شما که نمی خواهید همین طوری شانسی دکمه هارو امتحان کنید.
اینطوری کلی طول میکشه ( حداکثر 255 بار)
فرمانهایی که از کیبورد برای دستگاه صادر میشه حتما باید 1 بیتی باشه.
در حالتهای خاص چند فرمان 1 بیتی ارسال میشه و ترکیب اونا فرمانهای خاص رو میده ( مخصوص سیمبولهاست که ما کاریش نداریم)
پس برای کپچر کردن دکمه های کیبورد کافی اون 1 بیتی هارو ( چه نمایان و چه غیر نمایان ( مثل اسپیس یا اینتر)) رو چک کنیم.
255 تا بیشتر نیست که هر کدوم یه کاری رو انجام میده.
یه سریشون همین حروف و اعداد هستند ، یه سریشون یا ترکیباشون دستور اینتر و اسپیس و جامپ و ... رو میدن.
nevercom : با SysMetrics یه جورایی فشرده شدن یه کلید خاص رو چک میکنید ولی با SmallPlugIn میتونید فشرده شدن همه ی کلیدها یا ترکیبی از اونها رو چک کنید.
روال کار بدین شکل هست که شما تعدادی منو میسازید و برای هرکدوم یک کلید میانبر (Shortcut) تعریف میکنید، بعد در قسمت مربوط به فشرده شدن هر کلید (در واقع انتخاب هر آیتم از منو) دستورات موردنظر رو مینویسید، ولی نکته اینجاست که شما منوها رو مخفی میکنید و عملاً هیچ منویی نمایش داده نمیشه و فقط از کلیدهای میانبر اونها برای اینکار استفاده میشه.
متاسفانه الان MMB در دسترس ندارم که مثالش رو براتون بسازم، ولی اگر همون مثال مربوط به پلاگین رو نگاه کنید (مثالی که کلیدهای F1 تا F12 رو فشار میدین و متنی نمایش داده میشه) همین کار رو کرده.
البته میتونید با SysMetrics همزمان چنتا دکمه رو تحت کنترل بگیرید
درضمن نیاز به ساخت اون همه منو هم ندارید و حجم برنامه و سرعت استارت آپ اون هم زیاد نمیشه.
همونطور که خودتون هم گفتید SmallPlugIn جامعیت نداره و همه دکمه هارو پوشش نمیده
تازه اگر کسی تو برنامتون دستور غیر فعال کردن منو ها رو بده کل کپچرو باید بیخیال بشید ( منظورم اینه که اگه برای پسورد قاپی میخواهیدش)
ولی دسترسی به تایمرا تو برنامه کار هر کسی نیست!!
من یه نمونه براتون گذاشتم که با همون SysMetrics هست.
وقتی دکمه استارت رو بزنید برنامه شروع به چک کردن اون 255 کارکتر میکنه.
حالا اون دکمه ای رو که میخواهید اونقدر پایین نگه دارید تا برنامه از شمارش کردن قطع بشه ( یه دور باید 255 تا رو چک کنه ) و کد دکمتون رو بهتون بده و بعد هم تستش میکنه
هر دکمه ای رو که روی کیبورد میخواهید بهتون میده.
ولی اگه بازم مشکلی داشتید یا خواستید تمام دکمه ها ی کیبورد رو همزمان و بهتر از این و حتی زمانی که برنامتون مخفی باشه در اختیار بگیرید برام ایمیل بزنید تا پلاگینش رو بنویسم براتون.
موفق باشید.
 

پیوست ها

  • KeyState.zip
    6.2 کیلوبایت · بازدیدها: 45
این حرفتون منو متعجب کرد
شما که نمی خواهید همین طوری شانسی دکمه هارو امتحان کنید.
سلام.و ممنون.
البته من همین طوری امتحان نکردم من برای کد اسکی سیمیکالن فکر کردم باید یکی از کدهای 90 یا 91 برای سیمیکالن ویا نقطه ویا کد حرف ک رو تست کردم.که هیچ کدام نبود ولی روش شما بسیار خوب است واز این طریق تمام کدها بدست می آید .جالب اینجاست که مثلا برای سیمیکالن کد186 بدست آمد که در جدول کدها یک سیمبول است!
 

جدیدترین ارسال ها

بالا