win11成功运行winxp的图片查看器shimgvw.dll的方法

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: win11成功运行winxp的图片查看器shimgvw.dll的方法

Re: win11成功运行winxp的图片查看器shimgvw.dll的方法

Post by zhanglei1371 » 06 Feb 2023, 16:46

这个很有用,感谢分享

win11成功运行winxp的图片查看器shimgvw.dll的方法

Post by AUG » 04 Feb 2023, 15:12

对于win7里面的图片和传真查看器(shimgvw.dll)在win11中可以通过rundll32来打开图片,方法为:
run, rundll32.exe d:\test\shimgvw.dll`,ImageView_Fullscreen d:\test\1.jpg

但是使用winxp版本shimgvw.dll的却不行,提示动态链接库初始化例程失败,原因是xp版的shimgvw.dll引用了一些废弃的函数。

解决办法是使用ATOM引入"FailObsoleteShellAPIs"标识,然后就可以用dllcall来打开图片文件了。
具体使用以下两句就行:
DllCall("AddAtom","str","FailObsoleteShellAPIs")
DllCall("d:\test\shimgvw.dll\ImageView_Fullscreen","ptr",0 , "ptr", 0,"str","d:\test\1.jpg","ptr",0)

Top