打开应用时提示找不到api-ms-win-downlevel-shlwapi-l1-1-0.dll,去https://www.jb51.net/dll/72355.html下载后,拷贝到%windir%下的System32和SysWOW64(64位系统下才有这个)目录下,这里WOW64是Windows On Windows64的意思,也就是说,在64位系统下运行32位的应用程序用到的系统dll都放在这里。那么System32目录放的是64位的dll还是32位的dll呢?答案是:如果是32位系统,当然就是32位的dll,不存在64位的概念;如果是64位系统,这里面放的就是64位的dll,尽管目录的名字叫System32。如何判断一个dll是32位还是64位,可以参考这里https://blog.csdn.net/qiuchangyong/article/details/103565029
上面下载的文件是供win7和win8用的,每个里面有两个目录System32和SysWOW64,如果你的系统是64位的,就将这两个目录与%windir%下的合并即可。
接下来还得注册,如果你希望这个dll被64位的应用程序使用,用这样的命令注册它:
regsvr32 %windir%\System32\api-ms-win-downlevel-shlwapi-l1-1-0.dll
如果你希望这个dll被32位的应用程序使用,用这样的命令注册它:
regsvr32 %windir%\SysWOW64\api-ms-win-downlevel-shlwapi-l1-1-0.dll
以上是对64位系统而言的,32位的系统应该拷贝32位的dll并注册。也可以从这里下载https://sifangyun.cn/download/api-ms-win-downlevel-shlwapi-l1-1-0.zip