id_handler.h
上传用户:hyz2004817
上传日期:2022-03-30
资源大小:226k
文件大小:4k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "RCPServer.h"
  3. #ifndef _ID_HANDLER_H_
  4. #define _ID_HANDLER_H_
  5. // these uses to the dwImageFormat member of RCAGETSCREENDATA struct 
  6. #define IMAGE_FORMAT_BMP 1
  7. #define IMAGE_FORMAT_JPEG 2
  8. #define IMAGE_FORMAT_JPE IMAGE_FORMAT_JPEG
  9. #define IMAGE_FORMAT_JPG IMAGE_FORMAT_JPEG
  10. #define IMAGE_FORMAT_GIF 3
  11. ///////////////////////////////////////
  12. //
  13. //
  14. // 描述 : 请求服务器传送屏幕图像. 这个数据结构 大小为 40 字节.
  15. // 0x20 子协议要求的附带数据为 40 字节, 接收完这 40 字节后
  16. // 可以将这40 字节强制转换成 RCAGETSCREENDATA 结构
  17. //
  18. //
  19. //
  20. //
  21. typedef struct _RCAGetImageData{
  22. int x; // 截屏矩形的左上角的 x 座标
  23. int y; // 截屏矩形的左上角的 y 座标
  24. int w; // 截屏矩形的宽
  25. int h; // 截屏矩形的高
  26. int zw; // 返回图象的缩放, 若为0, 则不缩放. 
  27. int zh; // 返回图象的缩放, 若为0, 则不缩放.  
  28. int iBitCount; // 要求的位深, 可以是以下一个值 8, 16, 24, 32
  29. DWORD dwImageFormat; // 图象格式标记
  30. DWORD dwFlagEx1; // 保留给特定格式使用
  31. DWORD dwFlagEx2; // 保留给特定格式使用
  32. DWORD dwFlagEx3; // 保留给特定格式使用
  33. DWORD dwFlagEx4; // 保留给特定格式使用
  34. } RCAGETIMAGEDATA, *PRCAGETIMAGEDATA;
  35. // 与 WINDOWS MOUSEINPUT 结构兼容
  36. typedef struct RCAMouseInput {
  37.     LONG    dx;
  38.     LONG    dy;
  39.     DWORD   mouseData;
  40.     DWORD   dwFlags;
  41.     DWORD   time;
  42.     ULONG_PTR dwExtraInfo;
  43. } RCAMOUSEINPUT, *PRCAMOUSEINPUT;
  44. // 与 WINDOWS KEYBDINPUT 结构兼容
  45. typedef struct RCAKeybdInput{
  46.     WORD    wVk;
  47.     WORD    wScan;
  48.     DWORD   dwFlags;
  49.     DWORD   time;
  50.     ULONG_PTR dwExtraInfo;
  51. } RCAKEYBDINPUT, *PRCAKEYBDINPUT;
  52. // 定义一个信息结构. 在子协议 0x110 中使用
  53. //
  54. typedef struct RCAComputerInfo {
  55. CHAR pszOS[6]; // WIN95 / WIN98 /  WINNT / WIN2K / WINXP
  56. MEMORYSTATUS memoryStatus; // 由 GlobalMemoryStatus 函数获得
  57. DWORD dwScreenWidth; // 当前显示分辨率的宽
  58. DWORD dwScreenHeight; // ................高
  59. DWORD dwScreenBitCount; // ................位深
  60. } RCACOMPUTERINFO, *PRCACOMPUTERINFO;
  61. //////////////////////////////////////////////////////////////////
  62. //////////////////// 函数 函数 函数 函数//////////////////////////
  63. //////////////////////////////////////////////////////////////////
  64. /////////////////////////////////
  65. //
  66. // ID 号: 0x10 
  67. //
  68. // 描述 : 通过调用 ShellExecute 创建一个进程
  69. //
  70. // 实现文件: 0X10.cpp 
  71. //
  72. extern "C" 
  73. BOOL WINAPI RCAID_0X10_HANDLER( 
  74. SOCKET s, 
  75. RCAREQUESTHANDLEDATA * pData, 
  76. RCAREQUESTHEADER * pRCAHead, 
  77. HANDLE hEventArray[2]
  78. );
  79. /////////////////////////////////////////////////////////////////////
  80. //
  81. // ID 号: 0x20 
  82. //
  83. // 描述 : 请求服务器传送系统的屏幕图象, 传送完后, 服务器会释放所有资源, 
  84. // 而不保持连接, 以备接受下一次的请求. 若要保持连接, 用另一子协议
  85. //
  86. // 实现文件: 0X20.cpp 
  87. //
  88. extern "C" 
  89. BOOL WINAPI RCAID_0X20_HANDLER( 
  90. SOCKET s, 
  91. RCAREQUESTHANDLEDATA * pData, 
  92. RCAREQUESTHEADER * pRCAHead, 
  93. HANDLE hEventArray[2]
  94. );
  95. ///////////////////////////////////////////////////
  96. //
  97. //
  98. // ID 号: 0x40
  99. //
  100. // 描述: 请求服务器执行指定的鼠标输入操作
  101. //
  102. // 实现文件: 0X40.cpp
  103. //
  104. extern "C"
  105. BOOL WINAPI
  106. RCAID_0X40_HANDLER(
  107. SOCKET s,
  108. RCAREQUESTHANDLEDATA * pData,
  109. RCAREQUESTHEADER * pRCAHead,
  110. HANDLE hEventArray[2]
  111. );
  112. ///////////////////////////////////////////////////
  113. //
  114. // ID 号: 0x41
  115. //
  116. // 描述: 请求服务器执行指定的键盘输入操作
  117. //
  118. // 实现文件: 0x41.cpp
  119. //
  120. extern "C"
  121. BOOL WINAPI
  122. RCAID_0X41_HANDLER(
  123. SOCKET s,
  124. RCAREQUESTHANDLEDATA * pData,
  125. RCAREQUESTHEADER * pRCAHead,
  126. HANDLE hEventArray[2]
  127. );
  128. ///////////////////////////////////////////////
  129. //
  130. // 获取远程计算机的信息
  131. //
  132. //
  133. extern "C"
  134. BOOL
  135. WINAPI
  136. RCAID_0X110_HANDLER(
  137. SOCKET s,
  138. RCAREQUESTHANDLEDATA * pData,
  139. RCAREQUESTHEADER * pRCAHead,
  140. HANDLE hEventArray[2]
  141. );
  142. #endif