Code:
if (event == EVENT_CONSOLE_UPDATE_REGION)
{
HANDLE hConOut = CreateFile(LPCSTR("CONOUT$"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
DWORD rRegion;
COORD bufferCoord = {LOWORD(idObject), HIWORD(idObject)};
COORD ENDCoord = {LOWORD(idChild), HIWORD(idChild)};
if (ENDCoord.Y == 299) { ENDCoord.Y = 0; }
long Distance;
Distance = (ENDCoord.Y * 80 + ENDCoord.X) - (bufferCoord.Y * 80 + bufferCoord.X) + 1;
TCHAR buffer[1024];
ZeroMemory(&buffer,sizeof(buffer));
ReadConsoleOutputCharacter(hConOut, buffer, Distance * sizeof(TCHAR), bufferCoord, &rRegion);
if (rRegion == 0) { return; }
int Result = ERROR_SUCCESS;
if (bufferCoord.Y != Column)
{
do
{
Result = send(ConsoleSocket.sock, "\r\n", 2, 0);
Column++;
if (bufferCoord.Y == Column) { break; }
Sleep(20);
}while(SOCKET_ERROR != Result && WSAGetLastError() != WSAENOBUFS);
}
send(ConsoleSocket.sock, buffer, rRegion, 0);
Sleep(20);
}
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
E:\Server>
Trying to make a simple remote console to send what ever is being typed in a Alloced console. But everytime The console starts I get this GAP in the front! Its so annoying and Im trying to get rid of it, If I breakpoint on the part on readConsoleoutputchar and give it a sec it prints.. Any Idea?
Microsoft Windows XP [Version 5.1.2600] Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
E:\Server>