Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
6.8 KiB

  1. //
  2. // CTBGlobal.h
  3. //
  4. // Contains the references for all the items used in the global object.
  5. //
  6. // Copyright (C) 2001 Microsoft Corporation
  7. //
  8. // Author: a-devjen (Devin Jenson)
  9. //
  10. #ifndef INC_CTBGLOBAL_H
  11. #define INC_CTBGLOBAL_H
  12. #include <windows.h>
  13. #include <stdio.h>
  14. #include <activscp.h>
  15. #include <olectl.h>
  16. #include <stddef.h>
  17. #include "CTBShell.h"
  18. #include "tbscript.h"
  19. #include "scpapi.h"
  20. #include "ITBScript.h"
  21. class CTBGlobal : public ITBGlobal
  22. {
  23. public:
  24. CTBGlobal(void);
  25. ~CTBGlobal(void);
  26. void SetScriptEngine(HANDLE ScriptEngineHandle);
  27. void SetPrintMessage(PFNPRINTMESSAGE PrintMessage);
  28. void SetShellObjPtr(CTBShell *TBShellPtr);
  29. HRESULT WinExecuteEx(BSTR Command, BOOL WaitForProcess, DWORD *Result);
  30. private:
  31. STDMETHODIMP DebugAlert(BSTR Text);
  32. STDMETHODIMP DebugMessage(BSTR Text);
  33. STDMETHODIMP GetArguments(BSTR *Args);
  34. STDMETHODIMP GetDesiredUserName(BSTR *UserName);
  35. STDMETHODIMP LoadScript(BSTR FileName, BOOL *Result);
  36. STDMETHODIMP GetDefaultWPM(DWORD *WordsPerMinute);
  37. STDMETHODIMP SetDefaultWPM(DWORD WordsPerMinute);
  38. STDMETHODIMP GetLatency(DWORD *Latency);
  39. STDMETHODIMP SetLatency(DWORD Latency);
  40. STDMETHODIMP Sleep(DWORD Milliseconds);
  41. STDMETHODIMP GetInterval(DWORD *Time);
  42. STDMETHODIMP DeleteFile(BSTR FileName, BOOL *Result);
  43. STDMETHODIMP MoveFile(BSTR OldFileName,
  44. BSTR NewFileName, BOOL *Result);
  45. STDMETHODIMP CopyFile(BSTR OldFileName,
  46. BSTR NewFileName, BOOL *Result);
  47. STDMETHODIMP CreateDirectory(BSTR DirName, BOOL *Result);
  48. STDMETHODIMP RemoveDirectory(BSTR DirName, BOOL *Result);
  49. STDMETHODIMP FileExists(BSTR FileName, BOOL *Result);
  50. STDMETHODIMP SetCurrentDirectory(BSTR Directory, BOOL *Result);
  51. STDMETHODIMP GetCurrentDirectory(BSTR *Directory);
  52. STDMETHODIMP WriteToFile(BSTR FileName, BSTR Text, BOOL *Result);
  53. STDMETHODIMP WinCommand(BSTR Command, DWORD *Result);
  54. STDMETHODIMP WinExecute(BSTR Command, BOOL *Result);
  55. // Macro for making global properties easier
  56. #ifndef PROP
  57. #define PROP(Name) STDMETHODIMP get_##Name(DWORD *Result)
  58. #endif
  59. PROP(TSFLAG_COMPRESSION);
  60. PROP(TSFLAG_BITMAPCACHE);
  61. PROP(TSFLAG_FULLSCREEN);
  62. PROP(VK_CANCEL); // Control-break processing
  63. PROP(VK_BACK); // BACKSPACE key
  64. PROP(VK_TAB); // TAB key
  65. PROP(VK_CLEAR); // CLEAR key
  66. PROP(VK_RETURN); // ENTER key
  67. PROP(VK_ENTER); // ENTER key (backward compatibility ONLY)
  68. PROP(VK_SHIFT); // SHIFT key
  69. PROP(VK_CONTROL); // CTRL key
  70. PROP(VK_MENU); // ALT key
  71. PROP(VK_PAUSE); // PAUSE key
  72. PROP(VK_ESCAPE); // ESC key
  73. PROP(VK_SPACE); // SPACEBAR
  74. PROP(VK_PRIOR); // PAGE UP key
  75. PROP(VK_NEXT); // PAGE DOWN key
  76. PROP(VK_END); // END key
  77. PROP(VK_HOME); // HOME key
  78. PROP(VK_LEFT); // LEFT ARROW key
  79. PROP(VK_UP); // UP ARROW key
  80. PROP(VK_RIGHT); // RIGHT ARROW key
  81. PROP(VK_DOWN); // DOWN ARROW key
  82. PROP(VK_SNAPSHOT); // PRINT SCREEN key
  83. PROP(VK_INSERT); // INS key
  84. PROP(VK_DELETE); // DEL key
  85. PROP(VK_0); // 0 key
  86. PROP(VK_1); // 1 key
  87. PROP(VK_2); // 2 key
  88. PROP(VK_3); // 3 key
  89. PROP(VK_4); // 4 key
  90. PROP(VK_5); // 5 key
  91. PROP(VK_6); // 6 key
  92. PROP(VK_7); // 7 key
  93. PROP(VK_8); // 8 key
  94. PROP(VK_9); // 9 key
  95. PROP(VK_A); // A key
  96. PROP(VK_B); // B key
  97. PROP(VK_C); // C key
  98. PROP(VK_D); // D key
  99. PROP(VK_E); // E key
  100. PROP(VK_F); // F key
  101. PROP(VK_G); // G key
  102. PROP(VK_H); // H key
  103. PROP(VK_I); // I key
  104. PROP(VK_J); // J key
  105. PROP(VK_K); // K key
  106. PROP(VK_L); // L key
  107. PROP(VK_M); // M key
  108. PROP(VK_N); // N key
  109. PROP(VK_O); // O key
  110. PROP(VK_P); // P key
  111. PROP(VK_Q); // Q key
  112. PROP(VK_R); // R key
  113. PROP(VK_S); // S key
  114. PROP(VK_T); // T key
  115. PROP(VK_U); // U key
  116. PROP(VK_V); // V key
  117. PROP(VK_W); // W key
  118. PROP(VK_X); // X key
  119. PROP(VK_Y); // Y key
  120. PROP(VK_Z); // Z key
  121. PROP(VK_LWIN); // Left Windows key
  122. PROP(VK_RWIN); // Right Windows key
  123. PROP(VK_APPS); // Applications key
  124. PROP(VK_NUMPAD0); // Numeric keypad 0 key
  125. PROP(VK_NUMPAD1); // Numeric keypad 1 key
  126. PROP(VK_NUMPAD2); // Numeric keypad 2 key
  127. PROP(VK_NUMPAD3); // Numeric keypad 3 key
  128. PROP(VK_NUMPAD4); // Numeric keypad 4 key
  129. PROP(VK_NUMPAD5); // Numeric keypad 5 key
  130. PROP(VK_NUMPAD6); // Numeric keypad 6 key
  131. PROP(VK_NUMPAD7); // Numeric keypad 7 key
  132. PROP(VK_NUMPAD8); // Numeric keypad 8 key
  133. PROP(VK_NUMPAD9); // Numeric keypad 9 key
  134. PROP(VK_MULTIPLY); // Multiply key
  135. PROP(VK_ADD); // Add key
  136. PROP(VK_SEPARATOR); // Separator key
  137. PROP(VK_SUBTRACT); // Subtract key
  138. PROP(VK_DECIMAL); // Decimal key
  139. PROP(VK_DIVIDE); // Divide key
  140. PROP(VK_F1); // F1 key
  141. PROP(VK_F2); // F2 key
  142. PROP(VK_F3); // F3 key
  143. PROP(VK_F4); // F4 key
  144. PROP(VK_F5); // F5 key
  145. PROP(VK_F6); // F6 key
  146. PROP(VK_F7); // F7 key
  147. PROP(VK_F8); // F8 key
  148. PROP(VK_F9); // F9 key
  149. PROP(VK_F10); // F10 key
  150. PROP(VK_F11); // F11 key
  151. PROP(VK_F12); // F12 key
  152. PROP(VK_F13); // F13 key
  153. PROP(VK_F14); // F14 key
  154. PROP(VK_F15); // F15 key
  155. PROP(VK_F16); // F16 key
  156. PROP(VK_F17); // F17 key
  157. PROP(VK_F18); // F18 key
  158. PROP(VK_F19); // F19 key
  159. PROP(VK_F20); // F20 key
  160. PROP(VK_F21); // F21 key
  161. PROP(VK_F22); // F22 key
  162. PROP(VK_F23); // F23 key
  163. PROP(VK_F24); // F24 key
  164. HANDLE ScriptEngine;
  165. PFNPRINTMESSAGE fnPrintMessage;
  166. CTBShell *TBShell;
  167. LARGE_INTEGER SysPerfFrequency;
  168. #include "virtual.h"
  169. };
  170. #endif // INC_CTBGLOBAL_H