关于判断目标程序/文本文件是否为unicode

来源:互联网 发布:starbound mac 汉化 编辑:程序博客网 时间:2024/06/05 15:32

用API: IsUnicodeWindow
函数功能:该函数确定指定的窗口是否是一个本地Unicode窗口。
  函数原型: BOOL IswindowUnicode(HWND hwnd);
  参数:
  hWnd:被测试窗口的句柄。
  返回值:如果窗口是一个本地Unicode窗口,返回值为非零;如果窗口不是一个本地Unicode窗口,返回值为零,同时说明窗口是一个ANSI窗口。
  备注;一个窗口的字符集是由函数RegosterClass决定的。如果窗口类是以ANSI版的RegisterClass ( RegjsterClassA)注册的,则窗口字符集是ANSI的;如果窗口类是以Unicode版的Registerclass( RegisterClassW)注册的,则窗口字符集是Unicode。
  系统为窗口消息自动作Unicode和ANSI的双向翻译。例如,如果一个使用Unicode字符集的窗口测到一个ANSI窗口消息,则系统在调用窗口过程之前先将该消息转换为Unicode消息。系统调用lsWindowUnicode函数决定是否翻译消息。
  速查:Windows NT:3.1以上版本;Windows: 95以上版本;Windows CE:不支持;头文件:Winuser.h;库文件:user32.lib。

[cpp] view plaincopy
  1. HWND hWnd=::FindWindow(NULL,strWnd);  
  2.     if (IsWindowUnicode(hWnd))  
  3.     {  
  4.         AfxMessageBox(_T("yes"));  
  5.     }  
  6.     else  
  7.         AfxMessageBox(_T("no"));  
IsTextUnicode
[cpp] view plaincopy
  1. BOOL IsTextUnicode(  
  2.                    __in     const VOID *lpv,//要测试缓冲区的地址  
  3.                    __in     int iSize,      //lpv指向缓冲区的字节数  
  4.                    __inout  LPINT lpiResult//看MSDN,可以为NULL  
  5.                    );  
原创粉丝点击