デフォルトの Windows プリンタ ドライバ リソース ファイルで使用されている unired.dll をロードしたい。Windows Vista x86 用の unires.dll をロードできます。
C:\Windows\System32\spool\drivers\w32x86\3 にあります。
しかし、今は Windows 7 Pro x64 を使用しています。
そのため、C:\Windows\System32\spool\drivers\x64\3 にある同じ名前の unires.dll はロードできません。
次のコードでは、GetLastError() は 193 を返します。
出来ますか?または不可能ですか?Visual Studio 2005 Pro を使用しています。x64 と x86 をビルドしようとしましたが、それぞれ失敗しました。
TCHAR libName[MAX_PATH];
wsprintf(libName , _T("unires.dll"));
HINSTANCE hLibraryInstance = ::LoadLibrary(libName);
DWORD ErrorId=::GetLastError();
std::wofstream out;
out.open(_T("unires.txt"));
for(UINT resKey=0;resKey<100000;resKey++)
{
TCHAR * resBuf=new TCHAR[CHAR_MAX];
int BufferMaxSize=CHAR_MAX;
int Result=::LoadString(hLibraryInstance, resKey, resBuf, BufferMaxSize);
wstring resStr=resBuf;
if(!resStr.empty())
{
out<<resKey;
out<<" ";
out<<resStr.c_str();
out<<endl;
}
if(resBuf!=NULL)
{
delete [] resBuf;
}
}
out.close();
私を助けてください。よろしくお願いします!!