LoadString

LoadString【LoadString】LoadString是一个函式类型 。
基本介绍外文名:LoadString
含义:资源里载入字元串到CString对象
参数:应用程式实例句柄
性质:函式
简介从 资源 里载入字元串资源到CString对象里 。声明函式LoadString声明如下:WINUSERAPI int WINAPI LoadStringA(__in_opt HINSTANCE hInstance,__in UINT uID,__out_ecount(cchBufferMax) LPSTR lpBuffer,__in int nBufferMax);参数1: hInstance是应用程式实例句柄 。参数2: uID是资源中的字元串编号 。参数3: lpBuffer是接收从资源里拷贝字元串出来的缓冲区 。参数4: nBufferMax是指明缓冲的大小 。参数hInstance [in]:Handle to an instance of the module whose executable file contains the string resource. To get the handle to the application itself, use GetModuleHandle(NULL).uID [in] :Specifies the integer identifier of the string to be loaded.lpBuffer [out]:Pointer to the buffer to receive the string.nBufferMax [in]:Specifies the size of the buffer, in TCHARs. This refers to bytes for ANSI versions of the function or WCHARs for Unicode versions. The string is truncated and NULL terminated if it is longer than the number of characters specified.返回值If the function succeeds, the return value is the number of TCHARs copied into the buffer, not including the terminating NULL character, or zero if the string resource does not exist. To get extended error information, call GetLastError.说明Security AlertUsing this function incorrectly can compromise the security of your application. Incorrect use includes specifying the wrong size in the nBufferMax parameter. For example, if lpBuffer points to a buffer szBuffer which is declared as TCHAR szBuffer[100], then sizeof(szBuffer) gives the size of the buffer in bytes, which could lead to a buffer overflow for the Unicode version of the function. Buffer overflow situations are the cause of many security problems in applications. In this case, using sizeof(szBuffer)/sizeof(TCHAR) or sizeof(szBuffer)/sizeof(szBuffer[0]) would give the proper size of the buffer.Windows 95/98/Me: LoadStringW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.系统要求Minimum DLL Version: user32.dllHeader: Declared in Winuser.h, include Windows.hImport library: User32.libMinimum operating systems: Windows 95, Windows NT 3.1Unicode: Implemented as ANSI and Unicode versions.看完上面的资料可能大家都蒙了,不知道具体是在做什幺,其实这个成员函式是在调用String Table里面定义的信息,也就是说,把String Table中Caption里面的字元串读出来到CString对象里 。String Table中的ID号及其对应的字元串都是可以自己定义的 。String Table在ResourceView视窗中,也就是ClassView右边那个视窗 。双击之后就能看到,在最下面的选项中追加新的ID信息 。如果还是理解不清楚的话,请自己尝试多读msdn里的英文及例子就明白了 。