TinyFunc.h
上传用户:fujunqh
上传日期:2021-05-10
资源大小:7090k
文件大小:6k
源码类别:

多国语言处理

开发平台:

Visual C++

  1. #ifndef __TINY_FUNCTION__
  2. #define __TINY_FUNCTION__
  3. /**********************************************************
  4. 函数功能:路径选择
  5. 参数说明: hWnd: [in]父窗口句柄
  6. pszTitle: [in]路径选择对话框的提示信息
  7. pszInitPath:[in]初始路径
  8. pszPathBuf: [out]用于存放结果路径的缓冲区
  9. 返回说明: 成功返回TRUE, strPath即为user选择的路径
  10. 失败返回FALSE, user取消了选择
  11. 备    注:   pszPathBuf的尺寸至少为MAX_PATH个字符的大小. 
  12. ***********************************************************/
  13. BOOL DS_GetFolder(HWND hWnd, LPCTSTR pszTitle, LPCTSTR pszInitPath, LPTSTR pszPathBuf);
  14. //*********************************************************
  15. // 功能描述: 获得精确计时, 精度毫秒
  16. // 参数说明:
  17. // 返 回 值: 当前计时
  18. // 备    忘:
  19. //*********************************************************
  20. DWORD DS_GetTickCount();
  21. //*********************************************************
  22. // 功能描述: 使PC_SPEAKER发出警报声
  23. // 参数说明: dwFreq: [in]音频
  24. // iTone: [in]升降调
  25. // 1 升调  -1 降调
  26. // 返 回 值:
  27. //*********************************************************
  28. void DS_Alert(DWORD dwFreq, int iTone);
  29. //*********************************************************
  30. // 功能描述: 将DIB写文件
  31. // 参数说明: pszFile: [in]文件名
  32. // hDIB: [in]DIB句柄
  33. // 返 回 值: 是否成功
  34. //*********************************************************
  35. BOOL DS_WriteDIB(LPCTSTR pszFile, HANDLE hDIB);
  36. //*********************************************************
  37. // 功能描述: 将DIB转化为DDB
  38. // 参数说明: hDIB: [in]DIB句柄
  39. // 返 回 值: DDB bitmap句柄, NULL表示失败
  40. //*********************************************************
  41. HBITMAP DS_DIBToDDB(HANDLE hDIB);
  42. //*********************************************************
  43. // 功能描述: 将DDB转化为DIB
  44. // 参数说明: bitmap: [in]bitmap对象
  45. // dwCompression: [in]压缩类型(见BITMAPINFOHEADER)
  46. // pPal: [in]调色盘对象指针
  47. // 返 回 值: DIB句柄, NULL表示失败
  48. //*********************************************************
  49. HANDLE DS_DDBToDIB(CBitmap& bitmap, DWORD dwCompression, CPalette* pPal); 
  50. //*********************************************************
  51. // 功能描述: 将窗口图象写入文件
  52. // 参数说明: pszFile: [in]文件名
  53. // pWnd: [in]窗口对象句柄
  54. // 返 回 值: 是否成功
  55. //*********************************************************
  56. BOOL DS_WriteWindowToDIB(LPCTSTR pszFile, CWnd *pWnd);
  57. //码制
  58. #define CT_GB2312 1 //国标码
  59. #define CT_GB18030 2 //国标码
  60. #define CT_BIG5 3 //Big5码
  61. #define CT_HZ 4 //HZ码
  62. #define CT_UNICODE 5 //统一码
  63. //测试条件
  64. #define DO_ALL 0 //全部条件
  65. #define DO_UNUSED_WORD 1 //仅靠检测不符合汉字编码条件的字符出现的频度
  66. #define DO_LOW_FREQUENCY_WORD 2 //检测非常用的字符出现的次数
  67. //字符的类别划分
  68. #define WT_COMMON_WORD 0 //常用字
  69. #define WT_UNUSED_WORD 1 //未编码字
  70. #define WT_LOW_FREQUENCY_WORD 2 //非常用低频字
  71. //*****************************************************************************************************
  72. // 功能描述: 检测文本的混乱度
  73. // 参数说明: pszText: [in]待测文本
  74. // iCodeType: [in]待测文本码制
  75. // iOption: [in]测试条件选项
  76. // 返 回 值: 混乱度等级(0 - 100), -1表示无法检测
  77. //***************************************************************************************************
  78. int DS_DetectTextConfusion(LPCTSTR pszText, int iCodeType, int iOption);
  79. //*****************************************************************************************************
  80. // 功能描述: 检测GB2312文本的混乱度
  81. // 参数说明: pszText: [in]待测文本
  82. // iOption: [in]测试条件选项
  83. // 返 回 值: 混乱度等级(0 - 100), -1表示无法检测
  84. //***************************************************************************************************
  85. int DS_DTCGB2312(LPCSTR pszText, int iOption);
  86. //*********************************************************
  87. // 功能描述: 将指定数据进行加密
  88. // 参数说明: pDataBuf: [in/out]用于存放待加密数据,且加密后的数据也存于其中, 
  89. // rdwDataLen: [in/out]输入时表示待加密数据长度,返回时表示加密后的数据长度
  90. // dwBufLen: [in]pDataBuf的空间大小, 其大小应该符合下面的要求:
  91. // bBlock == TRUE时,dwBufLen >= rdwDataLen + 8
  92. // bBlock == FALSE时,dwBufLen >= rdwDataLen
  93. // pszPwd: [in]加密密钥,不能为NULL
  94. // bBlock: [in]确定使用RC2块编码或是RC4流式编码
  95. // TRUE->RC2块编码  FALSE->RC4流式编码
  96. // 返 回 值: 是否成功
  97. // 已知限制: 注意不可以和Microsoft的Wincrypt.h同时使用
  98. //*********************************************************
  99. BOOL DS_Encrypt(LPBYTE pDataBuf,
  100. DWORD& rdwDataLen,
  101. DWORD dwBufLen,
  102. LPCTSTR pszPwd,
  103. BOOL bBlock);
  104. //*********************************************************
  105. // 功能描述: 将指定数据进行解密
  106. // 参数说明: pData: [in/out]用于存放待解密数据,且解密后的数据也存于其中, 
  107. // rdwDataLen: [in/out]输入时表示待解密数据长度,返回时表示解密后的数据长度
  108. // pszPwd: [in]解密密钥,不能为NULL
  109. // bBlock: [in]确定使用RC2块编码或是RC4流式编码
  110. // TRUE->RC2块编码  FALSE->RC4流式编码
  111. // 返 回 值: 是否成功
  112. // 已知限制: 注意不可以和Microsoft的Wincrypt.h同时使用
  113. //*********************************************************
  114. BOOL DS_Decrypt(LPBYTE pData, 
  115. DWORD& rdwDataLen,
  116. LPCTSTR pszPwd,
  117. BOOL bBlock);
  118. //*********************************************************
  119. // 功能描述: 内存拷贝,本函数主要用于向代码段内动态拷贝数据
  120. // 参数说明: pDest: [out]拷贝的目标地址
  121. // pSrc: [in]拷贝的数据来源地址
  122. // nCount: [in]拷贝数据的大小
  123. // 返 回 值: 是否成功
  124. // 已知限制: Windows NT/2000: Requires Windows NT 3.1 or later.
  125. // Windows 95/98: Requires Windows 95 or later
  126. //*********************************************************
  127. BOOL DS_Memcopy(void* pDest, const void* pSrc, size_t nCount);
  128. //*********************************************************
  129. // 功能描述: 得到当前剪贴板所有者的执行档文件名字
  130. // 参数说明: pszFileName: [out]用于保存执行档文件名字的缓
  131. //  冲区
  132. // dwBufSize: [in]用于保存执行档文件名字的缓冲
  133. // 区的长度, in TCHARs
  134. // 返 回 值: 是否成功
  135. //*********************************************************
  136. BOOL DS_GetClipboardOwnerFileName(LPTSTR pszFileName, DWORD dwBufSize);
  137. //*********************************************************
  138. // 功能描述: 由窗口句柄得到执行档文件名字
  139. // 参数说明: hWnd: [in]窗口句柄
  140. // pszFileName: [out]用于保存执行档文件名字的
  141. //  缓冲区
  142. // dwBufSize: [in]用于保存执行档文件名字的
  143. // 缓冲区的长度, in TCHARs
  144. // 返 回 值: 是否成功
  145. //*********************************************************
  146. BOOL DS_GetFileNameFromHwnd(HWND hWnd, LPTSTR pszFileName, DWORD dwBufSize);
  147. #endif //#ifndef __TINY_FUNCTION__