common.h
上传用户:zhenhuadz
上传日期:2007-01-07
资源大小:1511k
文件大小:2k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. /******************************************************************************
  2. *       This is a part of the Microsoft Source Code Samples. 
  3. *   Copyright (C) 1994-1996 Microsoft Corporation.
  4. *       All rights reserved. 
  5. *       This source code is only intended as a supplement to 
  6. *       Microsoft Development Tools and/or WinHelp documentation.
  7. *       See these sources for detailed information regarding the 
  8. *       Microsoft samples programs.
  9. ******************************************************************************/
  10. #ifndef __MCTLISTCOMMONDOTH__
  11. #define __MCTLISTCOMMONDOTH__
  12. #if _MSC_VER >= 1000
  13. #pragma once
  14. #endif // _MSC_VER >= 1000
  15. //SAMPLE: this code is from the SDK TList sample
  16. // and was hacked up to use MFC by
  17. // Mike Blaszczak (mikeblas@nwlink.com)
  18. #include <afxtempl.h>
  19. #define TITLE_SIZE          64
  20. #define PROCESS_SIZE        MAX_PATH
  21. // task list structure
  22. //SAMPLE: derive this guy from CObject instead of
  23. // using a plain struct
  24. class CTaskListEntry : public CObject
  25. {
  26. public:
  27. CTaskListEntry() { ProcessName[0] = WindowTitle[0] = 0; }
  28. ~CTaskListEntry() { }
  29. DWORD       dwProcessId;
  30.     DWORD       dwInheritedFromProcessId;
  31.     BOOL        flags;
  32.     HWND        hwnd;
  33.     CHAR        ProcessName[PROCESS_SIZE];
  34.     CHAR        WindowTitle[TITLE_SIZE];
  35. };
  36. typedef CTypedPtrArray<CObArray, CTaskListEntry*> CTaskList;
  37. //
  38. // Function pointer types for accessing platform-specific functions
  39. //
  40. typedef DWORD (*LPGetTaskList)(CTaskList&);
  41. typedef BOOL  (*LPEnableDebugPriv)(VOID);
  42. //
  43. // Function prototypes
  44. //
  45. DWORD GetTaskList95(CTaskList& refTask);
  46. DWORD GetTaskListNT(CTaskList& refTask);
  47. BOOL EnableDebugPriv95(VOID);
  48. BOOL EnableDebugPrivNT(VOID);
  49. BOOL
  50. KillProcess(
  51.     CTaskListEntry* pEntry,
  52.     BOOL       fForce
  53.     );
  54. VOID
  55. GetWindowTitles(
  56.     CTaskList& refList
  57.     );
  58. #endif