(实在解决不了)更改图片打开方式

.Net技术 码拜 9年前 (2015-05-10) 1732次浏览 0个评论

实在不想做伸手党,可是已经两天了还是没解决。

问题描述:
winform,双击picturebox,用window自带照片查看器打开。(老是用用户机器本身默认的打开方式比如ps打开了)

按百度搜到的解决方法试验结果如下:

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 测试,可以

引用 1 楼 lovelj2012 的回复:

1、调用windows自带的图片浏览器

Process.Start("rundll32.exe", String.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"D:\1.jpg"))
引用 1 楼 lovelj2012 的回复:

1、调用windows自带的图片浏览器

Process.Start("rundll32.exe", String.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"D:\1.jpg"))

 
太好了 ,直接能用。  请问这个process.start的重载是filename,argument吗? 如果是的话。这个argument参数设定为什么写成stringformat就好了呀。看不懂这个stringformat的作用

引用 5 楼 bb4903052 的回复:
Quote: 引用 1 楼 lovelj2012 的回复:

1、调用windows自带的图片浏览器

Process.Start("rundll32.exe", String.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"D:\1.jpg"))

 
太好了 ,直接能用。  请问这个process.start的重载是filename,argument吗? 如果是的话。这个argument参数设定为什么写成stringformat就好了呀。看不懂这个stringformat的作用

StringFomt的作用,是代码看起来清晰:)

引用 3 楼 WM_JAWIN 的回复:
Process.Start("%SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen D:\abc.jpg");

Win7 测试,可以

为什么我好像不行呢
(实在解决不了)更改图片打开方式


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明(实在解决不了)更改图片打开方式
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!