utils.h.svn-base
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #ifndef _UTILS_H_
  2. #define _UTILS_H_
  3. #include <windows.h>
  4. /**
  5.  * Inject a DLL into the given process.
  6.  *
  7.  * @param ProcID A process ID.
  8.  * @param dll    The DLL's filename.
  9.  * @return Whether the injection succeeded.
  10.  */
  11. bool InjectDLL (DWORD ProcID, const char *dll);
  12. /**
  13.  * Find the process ID of a process with the given name.
  14.  */
  15. DWORD GetProcByName (const char *name);
  16. /**
  17.  * Print an UTF-8 string to the console.
  18.  *
  19.  * @param message A UTF-8 string.
  20.  * @param len     The length of message, in bytes.
  21.  * @require message != NULL && len >= 0
  22.  */
  23. void printConsole (const char *message, int len);
  24. /**
  25.  * Set the console's title.
  26.  *
  27.  * @param title The title, encoded in UTF-8.
  28.  * @param len   The length of title, in bytes.
  29.  * @requires title != NULL && len >= 0
  30.  */
  31. void setConsoleTitle (const char *title, int len);
  32. /**
  33.  * Convert a string, encoded in the specified code page, to UTF-8.
  34.  *
  35.  * @param codepage      The codepage of str.
  36.  * @param str           The string to convert.
  37.  * @param len           The size, in bytes, of str.
  38.  * @param resultLength  The length of the resulting UTF-8 string will be stored here.
  39.  *                      Set to NULL if you're not interested in the length.
  40.  * @return A null-terminated UTF-8 string, which must be freed when no longer necessary.
  41.  */
  42. char *codepageToUTF8(unsigned int codepage, const char *str, unsigned int len, unsigned int *resultLength = NULL);
  43. /**
  44.  * Convert a UTF-8 string to a string encoded in the specified code page.
  45.  *
  46.  * @param codepage      The codepage you want to convert to.
  47.  * @param str           The UTF-8 string to convert.
  48.  * @param len           The size, in bytes, of str.
  49.  * @param resultLength  The length of the resulting multibyte string will be stored here.
  50.  *                      Set to NULL if you're not interested in the length.
  51.  * @return A null-terminated multibyte string, which must be freed when no longer necessary.
  52.  */
  53. char *utf8ToCodepage(unsigned int codepage, const char *str, unsigned int len, unsigned int *resultLength = NULL);
  54. #endif /* _UTILS_H_ */