我构建了一个模块,该模块使用windows'编辑窗口类的编辑框创建窗口。它只能用于ansi字符集,不能使用任何unicode。我使用EM_GETHANDLE来接收编辑控件的缓冲区。强制使用ANSI编辑控件而不使用comctl32编辑控件
现在,这里是我的问题:(从上面的链接引用)
Note For Comctl32.dll version 6, the buffer always contains an array of WCHARs, regardless of whether an ANSI or Unicode function created the edit control. For more information on DLL versions, see Common Control Versions.
所以,当我的模块被由已经COMCTL32初始化一个应用程序,我的整个代码加载断裂。
我的问题:有没有办法阻止CreateWindowA使用comclt32或有人有想法解决这个问题?
您的预防答案在引用文字中。 Unicode有什么问题,特别是如果你不打算全面支持它的话。只要扔掉或忽略你无法处理的东西,或者更好地输入一些你不想处理的东西,例如给用户一个错误信息。非ASCII字符。 – 2013-02-11 12:26:45