quote:
Originally posted by Ripper86
Hello,
I have just begun to create plugins for Messenger Plus, but i am trying to do something that requires MSN to call a function each time a message is recieved.
I was wondering if maybe in a future version of Messenger Plus, something could be implemented that would call a function, TextRecieved() (or something like that), the method i am using now creates a message loop out of DllMain(), and acts as a nested program.
Also, maybe a call to another function that says what the local user has input, regardless of if the thext begins with a "/" (or just edit the ParseCommand() function maybe?)
I figure it would be much easier if there was a function like TextRecieved() in the next Messenger Plus, as i am working on a project for encrypting text now.
Thank you for your time.
Ripper86.
This can be implemented without even using Plus! by in MSN 6.2 there was as far as i know a registry setting you could change to enable proxy'ing but in MSN7.0 the new BETA it's alot harder. it's called Winsock Hooking and you have to do it with the Winsock in the IM Client.
im noob at winsock hooking and i have never even attempted it because i havent needed to yet, but from what i can *guess* you'll have to set the Window Procedure of the winsock to one of your own window procedures (maybe by using the SetWindowLong api call). the next part i have no clue about but somehow you have to tell whats happing incoming or outgoing. so in your case if it was outgoing you would have to encrypt it, incoming you would have to decrypt it. then call MSN's winsock Window Procedure again. but thats just normal Subclassing routine. Winsock subclassing might be different. try google and CodeProject usually have some source.
if your gonna look into winsock hooking first i suggest hooking one of the controls inside your own app. then dll injection, then subclassing something inside another program using your injected dll.
some useful api's are
FindWindow
FindWindowEx
SetWindowLong
CallWindowProc
there may be another possibility but i had some trouble with it. DLL Injection and subclassing the client's window procedure. if you can do this successfully then you can somehow get the value for when msn's send button or the enter key is pressed and get the text. and encrpyt it. then when msn recieves text and before it gets written on the form so the user can see it you'll need to decrypt it.
In my opinion the winsock hooking way would be the way to go because you encrypt it just before it sends meaning the text written on the window wouldnt be encrypted like if you subclassed the IM.
anyway good luck, and if you can successfully tell when text is recieved and sent and you could store it in a variable then maybe you should attempt making it into a dll people can use for their own projects. like an extension to the API.
good luck