C++ emulace stisknutí kláves – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ emulace stisknutí kláves – C / C++ – Fórum – Programujte.comC++ emulace stisknutí kláves – C / C++ – Fórum – Programujte.com

 

sachy0
Duch
24. 10. 2007   #1
-
0
-

Dá se nějak ,,stiskout" klávesa místo uživatele? Jako třeba aby se automaticky vložil text ze chránky, nebo ,,stisklo" ctrl + alt + del... Konkrétně potřebuju kombinaci ALT + Enter. Díky...

Nahlásit jako SPAM
IP: 160.217.215.–
Zelenáč0
Posthunter
24. 10. 2007   #2
-
0
-

Nechápu dotaz :smile11:

Nahlásit jako SPAM
IP: 89.176.254.–
mephi0
Expert
24. 10. 2007   #3
-
0
-

Simulovať akcie uživateľa ? No tak možno nejakym konkretnym posielanim sprav v API. Počul som niečo aj o zapisovani do buffera klavesnice.

Ale, <alt>+ enter ? to sa často použiva na fullscreen. chceš ho pre svoju aplikaciu, alebo ho vyvolať v inej ?

Nahlásit jako SPAM
IP: 85.248.56.–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
sachy0
Duch
25. 10. 2007   #4
-
0
-

Potřebuju to pro svuj program, aby se okno roztáhlo na fullscreen.

Nahlásit jako SPAM
IP: 160.217.215.–
Zelenáč0
Posthunter
25. 10. 2007   #5
-
0
-

Na to je kravina simulovat stisk klaves - nijak ti to nepomuze... V programu prece musis odchytit stisk klavesy a na zaklade toho zapnout fullscreen. Tak akorat vynechas ten prvni bod. :smile2:

Nahlásit jako SPAM
IP: 89.176.254.–
aerkain0
Newbie
25. 10. 2007   #6
-
0
-

IMHO spis potrebuje navod na to zapnuti full screenu..

Nahlásit jako SPAM
IP: 195.178.89.–
tmi0
Věrný člen
25. 10. 2007   #7
-
0
-

souhlasim se zelenac, o ty klavesy se vubec neni treba starat. kdyby si chtel 'nasimulovat' stisk klavesy, slo by to dost ztuha (pokud by si skutecne chtel vyslat signal na hardwareove urovni o stisku klavesy). prepnuti do full screenu se lisi v zavislosti na pouzitem API.
jestlize uzivas winapi (predpokladam:( ... ) tak se podivej na http://msdn.microsoft.com/library/ ... myslim ze to bude nejaka metoda tridy okna typu put_FullScreen nebo set_FullScreen, pripadne to muzes rovnou fullscreenove vytvorit nejakym makrem ...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
echo1120
Stálý člen
27. 10. 2007   #8
-
0
-

To tmi : A co v konzole?? Neda sa "prinutit program", aby si myslel ze uzivatel stlacil urcitu klavesu?? :smile11:
napr. ENTER

Nahlásit jako SPAM
IP: 62.168.75.–
Zelenáč0
Posthunter
27. 10. 2007   #9
-
0
-

A PROC??? K cemu to potrebujes? Napis sem, ceho chces dosahnout a urcite ti nekdo poradi lepsi reseni!

Jinak bych rekl, ze existuje nekolik zpusobu, jak donutit program, aby si myslel, ze uzivatel stikl klavesu. Jednak ji uzivatel (nebo treba robot) doopravdy muze stisknout. Dale muzes do klavesnice nasadit "stenici", ktera bude vysilat signaly i bez stisku klaves. Treti moznost je prepsat ovladace. Ctvrta moznost (druha nejjednodussi - i kdyz vyznat se v assembleru...) je prepsat program.

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
27. 10. 2007   #10
-
0
-

prinutit program a vyslat hardwarovy signal je neco jineho. jde o to na jake urovni myslis prinutit program. vetsinou, kdyz program pises ty, tak ti to je (jak rekl zelenac ) jedno protoze TY obsluhujes udalost stisku klavesy, a nasimulujes to jen tak ze provedes ten blok prikazu ktery by nasledoval po stisku te klavesy . pokud by si chtel ale prinutit jiz napsany program aby reagoval na stisk klavesy, musis to delat pres OS a to neni jednoduchy, priznam se ze tohle bych moc netusil. asi by to chtelo podivat se do implementace funkci ktery programy vyuzivaji pro detekci stisku klaves a zjistit odkud ty signaly berou (asi nejakej buffer ci co) a pak do nej zkusit psat: ovsem nevim jestli by ti neco takovyho OS povolil. treba nato bude nejaka API funkce, nevim. ale ve standardu jazyka C nic takovyho neni

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
echo1120
Stálý člen
27. 10. 2007   #11
-
0
-

To Zelenáč : Je to len myslienka, :smile1: ako v cykle zaznamenat stlacenie klavesy. Keby si program myslel ze uzivatel drzi klavesu enter, tak by sa cyklus vykonaval a zaroven by uzivatel mohol aj zadat vstup z klavesnice => chcem aby program cital vstup z klavesnice a zaroven vykonaval urcity cyklus.

Nahlásit jako SPAM
IP: 62.168.75.–
Zelenáč0
Posthunter
27. 10. 2007   #12
-
0
-

Pokud by si program myslel, ze je stlaceny ENETER


A byl by stlaceny? Pokud ano, imho by uz klavesnice nereagovala na ostatni tlacitka. Pokud ne... Zkratka to nebudes zjistovat!

Nemam s tim zadne zkusenosti, ale na ten druhy problem by se AFAIK daly pouzit napr. "thready" v SDL..

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
27. 10. 2007   #13
-
0
-

jestli chces aby program vykonaval urcity cyklus a zaroven cetl vstup tak takhle to urcite nevyresis). to by se dalo resit spis tak ze bys nechal cyklus a na jeho konci bys resil jestli byla nejaka klavesa stisknuta, a v pripade ze by to byl znak pridal bys ho na konec nejakeho pole charu ktere by nakonec obsahovalo cely vstup. to je ale reseni ne uplne efektivni pokud bude cyklus trvat prilis dlouho nebo bude uzivatel psat prilis rychle: pak by se mohlo stat ze nejaky stisk klavesy neregistrujes. to by bylo lepsi udelat treba aplikaci multivlaknovou a nechat jedno vlakno at resi cyklus a druhe at zpracovava vstup klasicky. zalezi to taky co by v tom cyklu bylo: v pripade nejake neblokovaci funkce by si ten vstup mohl resit klasicky.

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
tmi0
Věrný člen
27. 10. 2007   #14
-
0
-

to Zelenac: thready nejsou jen v SDL

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Zelenáč0
Posthunter
27. 10. 2007   #15
-
0
-

To tmi : Ja jsem rekl, ze ano?

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
27. 10. 2007   #16
-
0
-

To Zelenáč : nerekl, to je pravda. ale ja jsem nerekl ze jste to rekl. ja jsem pouze rekl ze thready nejsou jen v SDL, abych rozsiril Vase tvrzeni co vse by se dalo pouzit.

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Zelenáč0
Posthunter
27. 10. 2007   #17
-
0
-

No dobre dobre :smile5:

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
27. 10. 2007   #18
-
0
-

v poho), jen se rad hadam... kazdopadne bych rek ze k tematu je zbytecne se dale vyjadrovat nebot je (konecne!) vyreseno

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
1. 11. 2007   #19
-
0
-

to by se dalo resit spis tak ze bys nechal cyklus a na jeho konci bys resil jestli byla nejaka klavesa stisknuta

Pomocou akeho prikazu program zisti ci bola stlacena nejaka klavesa?? (samozrejme bez toho aby musel uzivatel stlacit Enter)

Nahlásit jako SPAM
IP: 62.168.75.–
Zelenáč0
Posthunter
1. 11. 2007   #20
-
0
-

Zkus hledat, nedavno jsme to tu resili...

Nahlásit jako SPAM
IP: 89.176.254.–
BAGR_0010
Duch
28. 8. 2008   #22
-
0
-

Já bych potřeboval nějakou syntaxi do C++ (pouze konzole), aby třeba pri stiku ENTER nasimuloval stisk Ctrl+O, Ctrl+V, Ctrl+S, Esc, Ctrl+Page Down. dá se to nějak jednoduše udělat. Díky...

Nahlásit jako SPAM
IP: 195.22.40.–
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, 121 hostů

Podobná vlákna

Odchycení stisknutí tlačítka — založil Jiří Sokolovský

Zjištění stisknutí klávesy — založil Garret Raziel

Moderátoři diskuze

 

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