以下是引用TonyDeng在2011-10-9 01:24:49的发言:
kernel32是Windows的内核库,与VC无关的,因为程序显示字符确实要调用Windows的kernel32.DLL,但VC不会覆盖系统内核库的呀。我的程序确实指定了使用宽字符,输出部分的API是硬性调用W版本的,难道是这个问题?不过,如果你的Windows是XP以上,都有宽字符处理功能的呀。
输出部分就用了这个函数,没有别的了:
// 在当前光标位置输出文本
VOID WriteText(const wstring& text) const
{
DWORD WriteNumber;
WriteConsoleW(output, text.c_str(), text.size(), &WriteNumber, NULL);
}
哦,你那信息显示是这个API函数有问题:GetCurrentConsoleFontEx(output, true, &font_info);
我删掉它试试,没用到的。Ex,这个东西难道跟Windows版本有关?我用的Win7,你用的XP,报告正好是这个函数在Kernel32.DLL中没找到。2楼说报告病毒,但最早那个程序没用这个函数呀。
这个是删掉那个函数的,再看看:
还是不可以,但下面的可以,缺少下面那东西吧,