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

WinAPI Keystrokes – C / C++ – Fórum – Programujte.comWinAPI Keystrokes – C / C++ – Fórum – Programujte.com

 

Guga
~ Anonymní uživatel
7 příspěvků
26. 10. 2008   #1
-
0
-

Dobrý den,
Zajímalo by mě jak odeslat stisk kláves přímo do jiné, předem určené aplikace. Umím udělat, aby se stiskla klávesa pomocí keybd_event, jenže jak jsem řekl, chtěl bych to odeslat do předem určeného programu. Je tedy nějaká možnost?

Nahlásit jako SPAM
IP: 86.49.93.–
dannyk0
Věrný člen
26. 10. 2008   #2
-
0
-

Napada me jedine pres posilani zprav pomoci SendMessage,kde das typ zpravy,kod zpravy a handle okna.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Jura
~ Anonymní uživatel
637 příspěvků
26. 10. 2008   #3
-
0
-

Zdravim,

jde to treba takto..



#include <iostream>
#include <windows.h>

static const char* g_szCalcClassName = "SciCalc";

int main()
{
// ziskam nejakym zpusobem HWND aplikace, ktere
// chci poslat zpravu
// ja si pomoci programu Spy++ zjistil
// jmeno tridy aplikace

HWND hWnd = ::FindWindow(g_szCalcClassName, 0);
if( hWnd )
{
// nasel jsem aplikaci
// a poslu tam cislo 120

::PostMessage(hWnd, WM_KEYDOWN, VK_NUMPAD1, 0);
::PostMessage(hWnd, WM_KEYDOWN, VK_NUMPAD2, 0);
::PostMessage(hWnd, WM_KEYDOWN, VK_NUMPAD0, 0);
}
else
{
std::cerr << "Nemuzu najit kalkulacku";
}
return 0;
}

Nahlásit jako SPAM
IP: 85.207.192.–
MaS0
Návštěvník
26. 10. 2008   #4
-
0
-

nevim jestli by to šlo....mohlo by se nastavit zaměření na okno té aplikace (SetFocus()) a pak zaslat vstup pomocí SendInput()........s tim SendMessage by podle mího názoru mohl nastat nějaký problém, protože co když Windows před tím než zašle zprávu WM_KEYDOWN ještě dělá něco jinýho..., nebo by ta aplikace taky mohla přijímat pouze zprávy WM_LEYDOWN a WM_KEYUP a tak by na to nemusela reagovat....

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

Podobná vlákna

WinAPI — založil Kenvelo

WinAPI — založil QWERTY

Help :'-( (winAPI) — založil Sony

Winapi — založil loma

WinApi 3-díl — založil Alan

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ý