tncon.cpp
上传用户:kunlunxyl
上传日期:2007-01-07
资源大小:45k
文件大小:1k
源码类别:

Telnet客户端

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Module: tncon.cpp
  4. //
  5. // Contents: telnet console processing
  6. //
  7. // Product: telnet
  8. //
  9. // Revisions: 02.Apr.1995 igor.milavec@uni-lj.si
  10. // Original code
  11. //
  12. ///////////////////////////////////////////////////////////////////////////////
  13. #include "tncon.h"
  14. void telProcessConsole(TelThreadParams* pParams)
  15. {
  16. HANDLE hConsole = GetStdHandle(STD_INPUT_HANDLE);
  17. SetConsoleMode(hConsole, 0);
  18. const DWORD nHandle = 2;
  19. HANDLE hHandle[nHandle] = {hConsole, pParams->hExit};
  20. for (;;) {
  21. DWORD dwInput;
  22. switch (WaitForMultipleObjects(nHandle, hHandle, FALSE, INFINITE)) {
  23.   case WAIT_OBJECT_0: {
  24. INPUT_RECORD InputRecord;
  25. ReadConsoleInput(hConsole, &InputRecord, 1, &dwInput);
  26. switch (InputRecord.EventType) {
  27.   case KEY_EVENT:
  28. if (InputRecord.Event.KeyEvent.uChar.AsciiChar)
  29. if (InputRecord.Event.KeyEvent.bKeyDown) {
  30. send(pParams->Socket, &InputRecord.Event.KeyEvent.uChar.AsciiChar, 1, 0);
  31. }
  32. break;
  33. }
  34. break;
  35.   }
  36.   default:
  37. return;
  38. }
  39. }
  40. }