Real MouseDown – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Real MouseDown – C / C++ – Fórum – Programujte.comReal MouseDown – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Myšák
~ Anonymní uživatel
10 příspěvků
21. 10. 2014   #1
-
0
-

Ahoj, chtěl bych se zeptat jestli nevíte někdo zda existuje způsob jak nahradit reálné stlačení klávesy(jakékoliv, např. Mezerník) nějakým příkazem. Potřeboval bych aby na takový příkaz reagoval jiný program. Jednu metodu jsem již zkoušel, fungovala například při přepnutí do prohlížeče, ovšem ta aplikace na zmiňovaný příkaz nereagovala. Ideální by bylo, kdyby systém, přebral tento příkaz právě jako input přímo z klávesnice a na to by reagoval ten druhý progral a nebyla to pouze simulace stisku té klávesy. Omlouvám se za popis, jsem teprve v začátcích. :) Díky za odpověď. 

Metoda, která mi nefungovala:

http://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/

#define WINVER 0x0500

#include <Windows.h>

int main()

{

// This structure will be used to create the keyboard

// input event.

INPUT ip;

// Pause for 5 seconds.

Sleep(500);

// Set up a generic keyboard event.

ip.type = INPUT_KEYBOARD;

ip.ki.wScan = 0; // hardware scan code for key

ip.ki.time = 0;

ip.ki.dwExtraInfo = 0;

// Press the "A" key

ip.ki.wVk = 0x41; // virtual-key code for the "a" key

ip.ki.dwFlags = 0; // 0 for key press

SendInput(1, &ip, sizeof(INPUT));

// Release the "A" key

ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release

SendInput(1, &ip, sizeof(INPUT));

// Exit normally

return 0;

}

Nahlásit jako SPAM
IP: 88.100.159.–
Reklama
Reklama
Myšák
~ Anonymní uživatel
10 příspěvků
21. 10. 2014   #2
-
0
-

Omlovám se za jméno vlákna, nejedná se o situaci s myší ale klávesnice, ovšem je to obdobný problém :)

Nahlásit jako SPAM
IP: 88.100.159.–
hlucheucho+10
Posthunter
21. 10. 2014   #3
-
0
-

Normálně na stisk tlačítka myši (nebo jinou akci) posílá aplikaci zprávu operační systém. Stejně tak i lze poslat tu samou zprávu z jiné aplikace a tím vyvolat chování stejné jako při stisku tlačítka myši. Gůgli jak získat handle okna nějaké aplikace, windows message....

hu

Nahlásit jako SPAM
IP: 193.86.81.–
Myšák
~ Anonymní uživatel
10 příspěvků
21. 10. 2014   #4
-
0
-

#3 hlucheucho
A ta metoda co je tu napsaná tedy funguje na jinym principu? ..mam teda googlit neco jako "keyboard windows meggase in c++" jestli dobre chapu? 

Nahlásit jako SPAM
IP: 88.100.159.–
hlucheucho+10
Posthunter
21. 10. 2014   #5
-
0
-

konkrétní zprávu vygůglíš podle toho, jakou akci má vyvolat

hu

Nahlásit jako SPAM
IP: 193.86.81.–
Myšák
~ Anonymní uživatel
10 příspěvků
21. 10. 2014   #6
-
0
-

#5 hlucheucho
Zkusím, dík za radu.

Nahlásit jako SPAM
IP: 2a00:1028:9192:7d6e:e4c8:...–
hlucheucho+10
Posthunter
21. 10. 2014   #7
-
0
-

zkus to na MSDN, pokud je to pro Windows

hu

Nahlásit jako SPAM
IP: 193.86.81.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 258 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý