![]() Windows XP compatibility mode adds this ATOM (in addition to a lot of other things), that's why the image viewer is able to run in this mode.Ī lightweight loader for the shimgvw.dll was implemented. The shimgvw.dll implicitly imports some deprecated shell functions from the shunimpl.dll, and the latter library refuses to load if there is no ATOM “FailObsoleteShellAPIs” (otherwise it loads properly, but the obsolete functions return error codes). ![]() ![]() It is possible to do it by setting this compatibility mode for a copy of rundll32, but it is an ugly hack, and it will cause displaying of UAC dialog on every run of the viewer, so it is not appropriate.Īfter a short debugging session, I found the culprit. It is not possible to execute it directly, you need a mediator like rundll32 for this purpose (path to an existing image file is required): rundll32 c:\windows\system32\shimgvw.dll,ImageView_Fullscreen c:\test.gifīut this trick doesn't work when you try to run shimgvw.dll from Windows XP on Windows 7, the shimgvw.dll requires Windows XP compatibility mode enabled. It is executed by the Windows Explorer from the shlimgvw.dll dynamic library. How has it been done?ĭefault image viewer from Windows XP is not just an application. ![]() Download: shimgvw_xp32.7z (includes a binary and source code of the launcher, and the shimgvw.dll from English Windows XP SP3). ![]()
0 Comments
Leave a Reply. |