Voisko tuota msn-messengeriä käyttää Winapin kautta? esim. viestin lähettämiseen ja vastaanottamiseen.
winAPI ja messenger
hp-bs
2284
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
windows messengeriä voi käyttää siten, että FindWindow:lla/FindWindowEx:llä ottaa handlen vaikka lähetä-nappulaan ja sitten lähettää sille SendMessagella klikkausviestin. MSN messengerin kohdalla tuo ei muistaakseni toimi, koska sen controllit eivät ole "oikeita" tai joku kummallisuus siinä oli kun joskus yritin.
Windows 3.1 ja 3.11 aikoihin esittämäsi olisi toiminut hyvin. Ikävä kyllä eri sovellusten välinen suojaus tekee asiat, hankalammaksi,niin omatarve-hyötyohjelmoijille kuin yhtälailla haittaohjelmienkin koodaajille.
Jos silti haluaa tuota yrittää, niin:
1.Kokeile PostMessagea SendMessagen asemesta.
2. Tarvittaessa Send/PostThreadMessage
3. näppiskoodeista: Muista WM_KeyDown ja WM_KeyUp. Jos lähetät oikeaan paikkaan, tarvittaessa käyttöjärjestelmä generoi noista myös WM_Char.
4. Esim TButton -tyyppiset kontrollit lähettävät parent -ikkunalleen WM_Command -viestin, jossa parametrina bn_Clicked sekä kontrollin ID.
5. esim. ikkunan sulkeminen: ensimmäisenä tulee mieleen WM_Close. Mutta onko se aina oikea valinta? Vai kannattaisiko kokeilla WM_SysCommand ja parametriksi SC_Close (vastaa system-menun Close -komennon käyttöä)
6. Selvitä, mikä on "Global hook". Tietojeni mukaan tuo pitää tehdä DLL:ssä, ei EXE:ssä. Saatat joutua tekemään lisää, jotta DLL:si ladataan haluamasi/kaikkien prosessien virtuaalimuistiavaruuteen !
7. Alatyyppejä edellisestä: KeyHook, JournalHook, vai olisiko ollut JournalPlaybackHook
Kuten huomaat, selvitettävää riittää, jos aikoo yleiseltä Win32 API -pohjalta ohjata toista sovellusta.
Helpompi lähestymistapa on, jos 2. ohjelma itse tarjoaa suunnitellun API:n muille ohjelmille. Kaikki ohjelmat eivä tällaista tarjoa, mutta niiden ohjelmien osalta, jotka tarjoavat, tämä on helpompi tapa.