int main(int argc, char *argv[])
{
SHFILEINFO sfi;
memset(&sfi, 0, sizeof(sfi));
SHGetFileInfo("a.txt",
FILE_ATTRIBUTE_DIRECTORY,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES
);
//if (sfi.hIcon) DestroyIcon(sfi.hIcon);
printf("GetLastError()\t%d\n", GetLastError());
SHGetFileInfo("a.txt",
FILE_ATTRIBUTE_DIRECTORY,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES
);
//if (sfi.hIcon) DestroyIcon(sfi.hIcon);
printf("GetLastError()\t%d\n", GetLastError());
system("PAUSE");
return EXIT_SUCCESS;
}第二次GetLastError()产生1008错误,2次都是调用同一个函数,为什么第二次调用
会产生错误????
{
SHFILEINFO sfi;
memset(&sfi, 0, sizeof(sfi));
SHGetFileInfo("a.txt",
FILE_ATTRIBUTE_DIRECTORY,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES
);
//if (sfi.hIcon) DestroyIcon(sfi.hIcon);
printf("GetLastError()\t%d\n", GetLastError());
SHGetFileInfo("a.txt",
FILE_ATTRIBUTE_DIRECTORY,
&sfi,
sizeof(sfi),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES
);
//if (sfi.hIcon) DestroyIcon(sfi.hIcon);
printf("GetLastError()\t%d\n", GetLastError());
system("PAUSE");
return EXIT_SUCCESS;
}第二次GetLastError()产生1008错误,2次都是调用同一个函数,为什么第二次调用
会产生错误????
第二次再来一遍试试。
建议设断点查看比对调用函数前的值是否相同
即使另外声明一个SHFILEINFO变量 还是会产生同样的错误