Skip to content
Home > Programming > EM_STREAMOUT

EM_STREAMOUT

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #188467
    Newbie
    Member

    AS You May Know, Most Of Us Use The Constant WM_GETTEXT to get the text from paltalk. However, there’s a problem that you guys don’t think of is “WM_GETTEXT definately does not work over 64k”. SO if the control contain 64,001 characters then your app will crash obviously. Here’s the solution:

    Const EM_STREAMOUT

    Not only it can grab more text than WM_GETTEXT but also the text format that we grab will be rtf. Wow, how fun huh ? What’s that mean ? That means that the rtf will contain information like color, font, smileyicon….

    Now, there’s a problem. when i try to sendmessage to the control to grab the rtf the paltalk is just crash. Once again we are dealing with memory ( just like the syslistview). I hope that you guys will work with me to findout a solution to this problem.

    #188488
    Newbie
    Member

    BTW, How can we become a moderator of your forum loco 😀

    #188487
    Admin
    Administrator

    you cant, he has 11 mods now and that is way to many already…

    #188486
    Admin
    Administrator

    Newbie thanks for the info bro 🙂 the be cool if we could make it stable enoguh so we can get icons and stuff 🙂

    bout the mod, well we got 11 now but if anyone goes out u be next 8)

    #188485
    Ryuu99
    Member

    I’m going to look more into it, but I believe EM_STREAMOUT requires a callback method. If I remember correctly, this presents a problem since you can’t pass a pointer to a function to another process (the process doesn’t know where the actual callback is located since it’s all relative addressing).

    In other words, you probably have to specify a callback function that is located within the paltalk process. I’m experimenting with this via dll injection.

    #188484
    Newbie
    Member

    😀 You’re absolutely right. I’m new to dll hooking and dll injection. but yeah it riquired a call back . just don’t have any idea to to that. on local app it work perfectly. however on a remote app…

    #188483
    Ryuu99
    Member

    I’ve just successfully called the EM_STREAMOUT message! It works beautifully with giving the full RTF formatting. My code at the moment is extremely sloppy, but after a few days I’ll rewrite it to make it a little prettier… This is the first time I’ve tried a) working with hooks and b) doing anything with paltalk, but I’m pretty happy with the results so far.

    The app I’m making is a simple greeter (I know, done to death hehe) that accomplishes the following tasks:

    1) Injects a dll into the first paltalk chat room thread that it finds
    2) Subclasses the SysListView32 control and monitors LVM_SETITEM messages for whenever they are setting text to subitem 2 (tells me a new person has entered the room and gets the name it’s adding to the list)
    3) The dll is then sent a user-defined message to send EM_STREAMOUT to grab the text that’s currently in the edit control containing text that will be sent (in order to restore text that the user has already typed)

    The next steps that need to be written will be

    4) Replace the text via EM_STREAMIN with the (now RTF formatted hehe) message I want to send

    5) Send the message

    6) Restore the text the user had typed

    Now, as for whether or not this can be programmed in VB, I have no idea… I’m writing mine in C++. One thing I should mention, you have to be REALLY careful when subclassing another processes control so you don’t crash Paltalk. If you want the source when it’s finished, lemme know and maybe someone could find a way to port it into VB. ^_~

    Thx BIG time for the tip on EM_STREAMOUT ^_^

    Edit: Steps 4, 5 and 6 are accomplished. I will rewrite the program in MUCH cleaner code and then share it with you if you wish.

    2nd Edit: Just for fun I now intercept everytime a message is about to be sent and reformat it in colorful ways lol… Basically, I just got bored and made a fader.

    #188482
    Newbie
    Member

    😀 Glad to hear that, would you like to share your C++ experience? i’ll try to make it work on VB code. thanks

    #188481
    Departure
    Member

    yeah im interested also about this EM_STREAMOUT function, im going to go and google the fucker

    #188480

    for what utility use streamout for pt, pt have an option lets u save your room session as rtf format. and I have tried streamout with hooking and the datas hooked are the same as save as .rtf with pt menu.

    #188479
    Newbie
    Member

    😀 Better to know more than don’t know anything

    #188478
    Ryuu99
    Member

    Alright, I trashed my other project and am currently working on a new one. This project consists of a loader application (basically sits in the taskbar looking for paltalk applications, and hooks them when it finds them)..

    The loaded dll then monitors the creation of new windows, and if a window is detected to be an IM session or chat room, it subclasses the editbox and formats the text for yet ANOTHER fader… My fader is pretty cool however, it’s a lot like yahoo IM’s color fader (multiple colors).

    Anyway, I still have to create the loader and setup the hook (right now it just directly injects the dlls via WriteProcessMemory/LoadModule) but once I do I’ll post my complete source for it! 🙂

    Oh, and for anyone who’s daring enough to try subclassing the editbox and/or toolbar in any chat window, you MUST MUST MUST subclass their parent window as well, and when you receive a WM_DESTROY command, remove the child subclassing immediately or Paltalk WILL crash. I’m not entirely sure why this occurs, but probably has something to do with their richeditbox code being in a seperate dll, not sure, dont care, lol.

    #188477
    Newbie
    Member

    @Ryuu99 wrote:

    Steps 4, 5 and 6 are accomplished. I will rewrite the program in MUCH cleaner code and then share it with you if you wish.

    @Ryuu99 wrote:

    Alright, I trashed my other project.

    🙄 yeah , yeah

    #188476
    Departure
    Member

    what do you mean anyone daring to subclass??

    All the paltalk programs on here are made because of subclassing down to the richedit box, thats what every single pal app is based on (subclassing)

    #188475

    he’s talking about install a new winproc for richtextbox control but it will cost him the performance, and it’s not necessairy to install a new winproc for the programm made for paltalk.

Viewing 15 posts - 1 through 15 (of 22 total)
  • You must be logged in to reply to this topic.