Տուն
Top.Mail.Ru Moscow
Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Down

Ինչպե՞ս հաղորդագրություն ուղարկել համակարգին, որ բանալին սեղմված է: Գտնել նմանատիպ մասնաճյուղեր


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

Ինչպե՞ս հաղորդագրություն ուղարկել համակարգին, որ բանալին սեղմված է: Օրինակ, դուք ժամանակին դնում եք այս հաղորդագրությունը համակարգին, որ բանալին սեղմված է, և օգտագործողը ներկայումս աշխատում է նոթատետրում և այնպես, որ այդ տառերը գրվեն նոթատետրում, որը դուք ուղարկել եք համակարգին (որ բանալին սեղմված է)



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

Դուք ստանում եք նոթբուքի բռնակ և այն ուղարկում wm_keydown



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

Ես դա արդեն հասկացա (ինձ հարկավոր էր ոչ միայն նոութբուքը ուղարկել, այլև ընդհանուր համակարգում)
Ահա օրինակից, ով հետաքրքրված է.

-------------------------------------------------- -----------------------
Ստորև բերված ընթացակարգը թույլ է տալիս կտտացնել որևէ մեկին
հսկողություն (պատուհանի հսկողություն), որն ի վիճակի է ընդունել մուտք
ստեղնաշարեր Դուք կարող եք օգտագործել այս տեխնիկան `ստեղները միացնելու համար:
Windows NT- ի ներքո NumLock, CapsLock և ScrollLock: Նույն տեխնիկան է գործում
իսկ Windows 95- ի տակ `CapsLock- ի և ScrollLock- ի համար, բայց բանալին չի աշխատում
NumLock- ը
Նկատի ունեցեք, որ չորս պրոցեդուրա կա. SimulateKeyDown () -
simulationKeyUp () - թողարկել առանցքային հարվածի (առանց ազատելու) -
emulate ազատման ստեղնը SimulateKeystroke () - հիթ հիթավորել
ստեղներով (սեղմելով և ազատելով) և SendKeys- ից () ՝ թույլ տալով ճկուն
վերահսկել ուղարկված ստեղնաշարի հաղորդագրությունները:
SimulateKeyDown (), SimulateKeyUp () և SimulateKeystroke () կոդերը ստանում են
վիրտուալ ստեղներ (ինչպես VK_F1): Կարգը
SimulateKeystroke- ը () ստանում է լրացուցիչ պարամետր, օգտակար, երբ
տպագրական տպագրիչով սեղմելը Երբ այս պարամետրը զրո է ամբողջը
էկրանը պատճենվելու է clipboard- ում: Եթե ​​լրացուցիչ
միայն 1- ի հավասար պարամետրը պատճենվելու է միայն ակտիվ պատուհանը:
Կոճակի սեղմման չորս եղանակները ցույց են տալիս օգտագործումը.
ButtonClick1 - հնարավորություն է տալիս փակել ButtonClick2- ը `ընդհատելով ամբողջը
էկրանը դեպի clipboard (clipboard): ButtonClick3 - ընդմիջումներ
ակտիվ պատուհան դեպի պահապատկեր (clipboard): ButtonClick4 - ուշադրության կենտրոնում է Խմբագրել և
լար է ուղարկում դրան:
Example:

կարգը SimulateKeyDown (բանալին ՝ բայթ);
սկսել
keybd_event (Բանալի, 0, 0, 0);
վերջը.

կարգը SimulateKeyUp (բանալին ՝ բայթ);
սկսել
keybd_event (Բանալի, 0, KEYEVENTF_KEYUP, 0);
վերջը.

ընթացակարգ SimulateKeystroke (բանալին ՝ բայթ; լրացուցիչ ՝ DWORD);
սկսել
keybd_event (Բանալի, լրացուցիչ, 0,0);
keybd_event (Բանալի, լրացուցիչ, KEYEVENTF_KEYUP, 0);
վերջը.

կարգը SendKeys (ներ: լարային);
var i: ամբողջ թիվ;
դրոշը `bool;
w: խոսք;
սկսել
{Ստացեք գլխարկի կողպեքի ստեղնաշարի վիճակը
դրոշ. = ոչ GetKeyState (VK_CAPITAL) և 1 = 0;
{Եթե գլխարկների կողպման բանալին միացված է, ապա անջատեք այն}
եթե դրոշ, ապա
SimulateKeystroke (VK_CAPITAL, 0);
համար i: = 1- ից մինչև երկարություն (ներ) ը
սկսել
w: = VkKeyScan (s [i]);
{Եթե առանցքային թարգմանության մեջ սխալ չի եղել}
եթե ((HiByte (w) <> $ FF) և (LoByte (w) <> $ FF)), ապա
սկսել
{Եթե բանալին պահանջում է հերթափոխի ստեղնը ներքև - պահեք այն}
եթե HiByte (w) և 1 = 1, ապա
SimulateKeyDown (VK_SHIFT);
{Ուղարկեք VK_KEY
SimulateKeystroke (LoByte (w), 0);
{Եթե բանալին պահանջել է shift ստեղնը ներքև - արձակեք այն}
եթե HiByte (w) և 1 = 1, ապա
SimulateKeyUp (VK_SHIFT);
վերջը.
վերջը.
{եթե գլխարկի կողպման բանալին միացված էր սկզբում, միացրեք այն}
եթե դրոշ, ապա
SimulateKeystroke (VK_CAPITAL, 0);
վերջը.

ընթացակարգ TForm1.Button1Click (Sender: TObject);
սկսել
{Միացրեք գլխարկի կողպեքը}
SimulateKeystroke (VK_CAPITAL, 0);
վերջը.

ընթացակարգ TForm1.Button2Click (Sender: TObject);
սկսել
{Ամբողջ էկրանը հավաքեք ստեղնաշարի վրա}
sim մոդելավորելով, սեղմելով PrintScreen ստեղնը}
SimulateKeystroke (VK_SNAPSHOT, 0);
վերջը.

ընթացակարգ TForm1.Button3Click (Sender: TObject);
սկսել
{Ձեռք բերեք ակտիվ պատուհանը դեպի ստեղնաշարի տախտակ}
sim մոդելավորելով, սեղմելով PrintScreen ստեղնը}
SimulateKeystroke (VK_SNAPSHOT, 1);
վերջը.

ընթացակարգ TForm1.Button4Click (Sender: TObject);
սկսել
{Կիզակետը տեղադրեք պատուհանի վրա (խմբագրեք կառավարման) և ուղարկեք այն լարային}
Application.ProcessMessages;
Խմբագրել1.SetFocus;
SendKeys («Դելֆին ՎԱԱՌՎՈՒՄ է»);
վերջը.
-------------------------------------------------- -------------------------

Այժմ ես պետք է հետևեմ օգտագործողի կտտոցին կլավ կոճակի վրա (օրինակ ՝ ալֆա) և վերափոխել այս մամուլը `փոխարինելու իմ սեփականով:




Էջեր: 1 ամբողջ ճյուղը

Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Up





Հիշողություն `0.56 ՄԲ
Ժամանակը `0.023 գ
7-22441
ulysses
2001-09-19 20:31
2002.01.08
Delphi 5 Ent չի տեղադրվում սովորաբար Win2k Pro- ի ներքո


1-22206
T2
2001-12-16 07:11
2002.01.08
Հավասարեցնել դաշտը


1-22036
մաքսանենգ
2001-12-18 14:01
2002.01.08
Տեքստի խմբագիր


1-22061
Անիվ
2001-12-18 19:44
2002.01.08
Ինչու՞ MDI ձևը ցանկի մեջ MDIChild չի ցուցադրում ???


6-22312
Leviathan
2001-10-15 00:24
2002.01.08
Հեյ, ով գիտի Ինդիի մասին: Օգնության կարիք ունեք:





afrikaans ալբանական արաբական հայերեն ադրբեջանական Բասկերի Բելառուսի Բուլղարիայի catalan Չինարեն (պարզեցված) Չինարեն (ավանդական) Խորվաթիայի չեխ դանիերեն հոլանդական Անգլերեն
Էստոնիայի filipino ֆիններեն ֆրանսերեն
galician վրացական գերմանական հունարեն haitian Creole եբրայերեն հինդի հունգարերեն icelandic հայերեն իռլանդական իտալական ճապոնացի Կորեայի Լատվիայի Լիտվայի մակեդոներեն Մալայերեն մալթերեն նորվեգական
պարսկական Լեհաստանի պորտուգալացի ռումինական ռուսական սերբերեն Սլովակիայի Սլովենիայի իսպաներեն սուահիլի շվեդերեն թայերեն թուրքական ուկրաինական ուրդու վիետնամերեն ուելսերեն հայերեն bengali բոսնիերեն
Cebuano Esperanto գուջարաթի հաուսա Hmong Igbo ճավաերեն kannada Khmer Lao լատիներեն մաորի մարաթի մոնղոլական նեպալերեն Punjabi Somali tamil telugu յորուբա
զուլուսերեն
Անգլերեն Французский Немецкий Итальянский Португальский Русский Испанский