בית
Top.Mail.Ru Yandeks.Metrika
פורום: "ראשי";
ארכיון נוכחי: 2002.01.08;
הורדה: [xml.tar.bz2];

למטה

כיצד לשלוח הודעה למערכת שלוחצים על מקש? מצא סניפים דומים


Delphimun   (2001-12-20 12:10) [0]

כיצד לשלוח הודעה למערכת שלוחצים על מקש? לדוגמה, הנחת טיימר הודעה זו למערכת שלוחצים על המקש, והמשתמש עובד כרגע במחברת וכדי שהאותיות הללו ייכתבו במחברת ששלחת למערכת (שהמקש נלחץ)



gek   (2001-12-20 12:32) [1]

אתה מקבל ידית פנקס רשימות ושלח אותו wm_keydown



Delphimun   (2001-12-20 13:10) [2]

כבר הבנתי את זה (הייתי צריך לשלוח לא רק את המחברת, אלא במערכת הכללית)
הנה דוגמה של faq שמעוניין:

-------------------------------------------------- -----------------------
ההליך שלהלן מאפשר לך לשלוח קליקים לכל אחד מהם
שליטה (בקרת חלון) המסוגלת לקבל קלט מ-
מקלדות. אתה יכול להשתמש בטכניקה זו כדי להפעיל את המקשים.
NumLock, CapsLock ו- ScrollLock תחת Windows NT. אותה טכניקה עובדת
ותחת Windows 95 עבור CapsLock ו- ScrollLock אך אינו פועל עבור המפתח
NumLock
שים לב שיש ארבעה נהלים: SimulateKeyDown () -
לחקות הקשה על מקש (מבלי לשחרר) SimulateKeyUp () -
לחקות את מקש השחרור SimulateKeystroke () - לחקות להיט
על ידי מקש (לחיצה ושחרור) ו- SendKeys (), המאפשרים לך גמישות
לשלוט בהודעות מקלדת שנשלחו.
SimulateKeyDown (), SimulateKeyUp () ו- SimulateKeystroke () מקבלים קודים
מפתחות וירטואליים (כמו VK_F1). נוהל
SimulateKeystroke () מקבל פרמטר נוסף, שימושי כאשר
אמולציה של לחיצה על PrintScreen. כאשר פרמטר זה הוא אפס השלם
המסך יועתק ללוח. אם תוספת
פרמטר השווה ל- 1 רק החלון הפעיל יועתק.
ארבע שיטות לחיצה על כפתורים מדגימות שימוש:
ButtonClick1 - מאפשר נעילת כפתור. ButtonClick2 - מיירט את כולו
מסך ללוח (לוח). לחצן קליק3 - יירוט
חלון פעיל ללוח (הלוח). לחצן קליק 4 - מגדיר מיקוד בעריכה ו
שולח אליו מחרוזת.
לדוגמה:

נוהל SimulateKeyDown (מפתח: בתים);
להתחיל
keybd_event (מפתח, 0, 0, 0);
הסוף;

נוהל SimulateKeyUp (מפתח: בתים);
להתחיל
keybd_event (מפתח, 0, KEYEVENTF_KEYUP, 0);
הסוף;

הליך SimuleKeystroke (מפתח: בתים, תוספת: DWORD);
להתחיל
keybd_event (מפתח, נוסף, 0,0);
keybd_event (מפתח, נוסף, KEYEVENTF_KEYUP, 0);
הסוף;

נוהל SendKeys (ים: מחרוזת);
var i: מספר שלם;
דגל: בול;
w המילה;
להתחיל
{קבל את מצב נעילת הכובעים}
דגל: = לא GetKeyState (VK_CAPITAL) ו- 1 = 0;
{אם מקש נעילת הכובעים מופעל, כבה אותו}
אם דגל מכן
סימולסטרייק (VK_CAPITAL, 0);
עבור i: = 1 לאורך (ים) לעשות
להתחיל
w: = VkKeyScan (ים [i]);
{אם אין שגיאה בתרגום המפתח}
אם ((HiByte (w) <> $ FF) ו- (LoByte (w) <> $ FF)) אז
להתחיל
{אם המפתח דורש את מקש המשמרת - לחץ לחיצה ארוכה עליו}
אם HiByte (w) ו- 1 = 1 אז
SimulateKeyDown (VK_SHIFT);
{שלח את VK_KEY}
סימולסטרייק (LoByte (w), 0);
{אם המפתח דרש את העבר מקש למטה - שחרר אותו}
אם HiByte (w) ו- 1 = 1 אז
SimulateKeyUp (VK_SHIFT);
הסוף;
הסוף;
{אם מקש נעילת הכובעים היה מופעל בהתחלה, הפעל אותו מחדש}
אם דגל מכן
סימולסטרייק (VK_CAPITAL, 0);
הסוף;

הליך TForm1.Button1Click (שולח: TObject);
להתחיל
{החלף את נעילת הכובע}
סימולסטרייק (VK_CAPITAL, 0);
הסוף;

הליך TForm1.Button2Click (שולח: TObject);
להתחיל
{תפוס את כל המסך ללוח}
{על ידי הדמיית לחיצה על מקש PrintScreen}
סימולסטרייק (VK_SNAPSHOT, 0);
הסוף;

הליך TForm1.Button3Click (שולח: TObject);
להתחיל
{תפוס את החלון הפעיל ללוח}
{על ידי הדמיית לחיצה על מקש PrintScreen}
סימולסטרייק (VK_SNAPSHOT, 1);
הסוף;

הליך TForm1.Button4Click (שולח: TObject);
להתחיל
{הגדר את המיקוד לחלון (ערוך בקרה) ושלח לו מחרוזת}
Application.ProcessMessages;
Edit1.SetFocus;
SendKeys ("דלפי רעה!");
הסוף;
-------------------------------------------------- -------------------------

עכשיו עלי לעקוב אחר לחיצה על המשתמש על לחצן clav (לדוגמא, אלפא) של המשתמש, ולאפס את הלחיצה על \ כדי להחליף את שלי.




עמודים: 1 ענף שלם

פורום: "ראשי";
ארכיון נוכחי: 2002.01.08;
הורדה: [xml.tar.bz2];

למעלה









זיכרון: 0.57 MB
זמן: 0.036 c
4-22472
יוג'ין
2001-10-27 17:03
2002.01.08
כיצד להפוך את שרת proxy הקטן שלך?


1-22056
דלפימון
2001-12-15 13:11
2002.01.08
כיצד ליצור משאב באמצעות brcc32.exe?


14-22339
סינית כמו זו וווט
2001-11-01 10:12
2002.01.08
מתכנת, מה בכינוי שלך?


1-22234
x000d
2001-12-17 01:34
2002.01.08
פעיל, לא פעיל.


3-21924
אנדרו
2001-12-04 14:37
2002.01.08
DbLookUpComboBox





אפריקאנס אלבני ערבי אַרְמֶנִי אזרביג'אן הבסקים בלארוסית בולגרי קטלאנית הסיני (פשוט) סינית (מסורתית) קרואטית צ'כיה דני הולנדי אנגלית אסטוני פיליפיני פיני צרפתית
גליציה גאורגיה גרמני יווני קריאולית האיטית עברי הינדי הונגרי איסלנדי אינדונזי אירי איטלקי יפני קוריאני לטבי ליטאי מקדוניה מלאית מלטזית נורבגי
פרסי פולני פורטוגזי רומנית רוסי סרבית סלובקי סלובני ספרדי סוואהילית שבדי תאילנדי תורכי אוקראיני אורדו ויאטנמית וולשית יידיש בנגלית בוסנית
קבואנו אספרנטו גוג'ראטית האוסה המונג איגבו יָאוָנִי קנאדה לחמר לאו הלטינית מאורים מרתי מונגולי נפאלית פונג'בית סומליה טמילית טלוגו יורובה
זולו
Английский Французский Немецкий Итальянский Португальский Русский Испанский