实在不想做伸手党,可是已经两天了还是没解决。 问题描述: 按百度搜到的解决方法试验结果如下: 1. System.Diagnostics.Process.Start(@"D:\1.jpg", "rundll32.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen"); 。还有百度到的五六行代码的形式。(就把这句话分开而已)。实验结果:没用。机器如果默认打开方式是PS的话,还是ps打开。 2。. System.Diagnostics.Process.Start(@"D:\1.jpg", "dllhost.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen"); 。也不行。这个dllhost是照片查看器运行时调用的exe。 3.注册表修改。方式为root下的jpegfile,tiffile都改成%SystemRoot%\System32\rundll32.exe “%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll”, ImageView_Fullscreen %1。试验结果:没用。 以上方法如果改成mspaint,就是画图软件,都可以实现画图软件打开。主要是因为window自带查看器找不到一个固定的exe程序。他的进程叫dllhost.exe。为什么mspaint写进去都有效果。这个写进去没效果啊啊啊啊啊 啊啊楼主已疯。 无奈伸手求助。谢谢。 |
|
30分 |
1、调用windows自带的图片浏览器
Process.Start("rundll32.exe", String.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"D:\1.jpg")) |
Start 这个就可以了:
%SystemRoot%\System32\rundll32.exe “%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll”, ImageView_Fullscreen 你的图片路径 测试了一下,图片路径不能加引用号,即便有空格符 |
|
Process.Start("%SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen D:\abc.jpg"); Win7 测试,可以 |
|
|
|
|
|
StringFomt的作用,是代码看起来清晰:) |
|
Process.Start("%SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen D:\abc.jpg"); 为什么我好像不行呢 |