Thanks for the link Vikram, however it seems that there is a bug with that engine (and the user comments seem to confirm) that creates problems with XP. From what I saw in the source of that project, I thought that this would work: void say( const char* toSay ) { if( !SetForegroundWindow( chatBox ) ){ cout << "COULD NOT SET CHATBOX TO ACTIVE" << endl; } Sleep(500); UINT scan = MapVirtualKey( VK_RETURN, 0 ); Sleep(500); SendMessage( chatBox, WM_SETTEXT, (WPARAM)0, (LPARAM)toSay ); Sleep(2000); keybd_event(VK_RETURN, scan, KEYEVENTF_EXTENDEDKEY | 0, 0 ); Sleep(2000); keybd_event(VK_RETURN, scan, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); } However, that doesn't seem to work. As in my previously posted function, the chatBox is set with the text and when VK_RETURN is sent it does clear, but it does not show up in the chat, it just gets cleared. I'm not sure why this is. -- modified at 3:43 Saturday 17th December, 2005