我在Visual C++中創建了一個基本的stringtable資源。我正在嘗試訪問該資源。但是,我的程序似乎無法找到資源。這裏:如何在Visual C++ 2010中打開資源字符串?
int main(int argc, char* argv[])
{
HRSRC hRsrc;
hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDS_STRING102), RT_STRING);
if (hRsrc == NULL) {
printf("Not found\n");
} else {
printf("Found\n");
}
}
這個程序找不到資源,總是返回null。
我創建了一個簡單的位圖資源,這個新程序確定了這一點。這裏:
int main(int argc, char* argv[])
{
HRSRC hRsrc;
hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDB_BITMAP1), RT_BITMAP);
if (hRsrc == NULL) {
printf("Not found\n");
} else {
printf("Found\n");
}
}
這找到了位圖。
stringtable資源得到不同處理方式不同嗎?
如果必須使用'FindResource'字符串,那麼你需要在ID通過'MAKEINTRESOURCE((IDS_STRING102> > 4)+1)'。更容易使用LoadString,然後...FindResource並不是用於直觀的字符串加載。 :( – Ben