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

Zachycení zprávy SW_MINIMIZE – C / C++ – Fórum – Programujte.comZachycení zprávy SW_MINIMIZE – C / C++ – Fórum – Programujte.com

 

Jurda_I0
Newbie
16. 10. 2012   #1
-
0
-

Dobrý den, vytvářím program(viz. níže), který po zminimalizování nebo po změně velikosti Notepadu vypíše nějaký text. Problém je v tom, že nevím jak sbírat zprávy z toho Notepadu a jak je poté porovnat, jestli jsou to ty zprávy, které chci vyhodnotit.

Představoval bych si to nějak takdle:

Předem děkuji za jakoukoliv odpověď nebo návrh jiného řešení...

Nahlásit jako SPAM
IP: 85.70.173.–
ingiraxo+15
Grafoman
16. 10. 2012   #2
-
0
-

na tohle se pouziva dll injection, ale nikde jsem nenarazil na poradnej a detailni navod, takze doufam, že ho sem někdo postne =)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
yaqwsx+9
Posthunter
16. 10. 2012   #3
-
0
-

Na co DLL injection? Stačí najít HWND okna Notepadu (pomocí FindWindow), uložit si jeho proceduru okna a nastavit vlastní proceduru okna pomocí SetWindowsHookEx.

Ve vlastní proceduře potom zachytáváš zprávy, které tě zajímají, reaguješ na ně a zároveň znovu voláš původní proceduru okna (aby ten program fungoval).

Viz. např. http://msdn.microsoft.com/en-us/library/windows/desktop/ms644960%28v=vs.85%29.aspx

Nahlásit jako SPAM
IP: 85.160.55.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
zlz
~ Anonymní uživatel
634 příspěvků
16. 10. 2012   #4
-
0
-

Technická... SetWindowsHookEx v podstatě dělá DLL injection.

Nahlásit jako SPAM
IP: 80.188.216.–
yaqwsx+9
Posthunter
16. 10. 2012   #5
-
0
-

#4 zlz
Asi ano, ale jsem ze všech materiálů naučen této proceduře říkat hookování. Pod DLL injection se představuji nějaký obecnější postup (nahrazení libovolné funkce - ne jen funkcí pro provoz API)

Nahlásit jako SPAM
IP: 85.160.55.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Radek Chalupa
~ Redaktor
+1
Super člen
17. 10. 2012   #6
-
0
-

Když tak tady najdeš podrobnější popis i s příkladem (je to sice už starší článek, ale princip je pořád stejný). 

http://www.radekchalupa.cz/clanky/?…

PS: jen upozornění, že pokud jsou to 64-bit windows (reps. ta sledovaná aplikace je 64-bitová), musíš svojí aplikaci vč. té DLL mít také 64-bitovou (a naopak pro 32-bit aplikace...)

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Jurda_I0
Newbie
17. 10. 2012   #7
-
0
-

Dobrý den, pořád se mi nedaří rozjet výše zmíněný program. Byl by někdo tak hodný, že by sem umístil funkční zdrojový kód, abych konečně zjistil kde dělám chybu(y)??? A ještě jsem se chtěl zeptat, když chci pracovat čistě s tím Notepadem tak nemusím udělat externí DLL, ne?

Nahlásit jako SPAM
IP: 85.70.173.–
Radek Chalupa
~ Redaktor
+1
Super člen
17. 10. 2012   #8
-
0
-

Zde http://www.radekchalupa.cz/…ipy-visualc/ jsou ke stažení ukázkové aplikace k mé knize (tam je i trocha teorie  k tématu), jedna z ukázek je právě aplikace (plus DLL  knihovna) s "hákováním" zpráv cizí aplikace.

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Jurda_I0
Newbie
31. 10. 2012   #9
-
0
-

#8 Radek Chalupa
Dobrý den, omlouvám se, že sem píši tak pozdě, ale byl jsem dlouhodobě nemocný.

V souborech, na které jste mě odkazoval, jsem nedokázal oddělit to potřebné od nepotřebného (bylo tak na mě až moc kódu). Mohl byste sem prosím umístit ten zdrojový kód? Moc mi na tom záleží děkuji. 

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

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ý