C#中怎么调用WindowsXP的图片浏览器打开指定的图片

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:10:07
本菜鸟写了一个C#的form,里面有一个pictureBox,想写个事件,当点击此pictureBox时,会调用WindowsXP中的图片浏览器打开我指定的图片。
我看了看,XP自带的图片浏览器是一个dll文件,通过rundll32来调用的,代码如下:
rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1
我怎么加到C#的事件中去呢?
我这样写了一个
System.Diagnostics.Process.Start("rundll32.exe shimgvw.dll,ImageView_Fullscreen",s); //s是我的图片名的变量
但编译的时候,提示找不到文件,不知为何?

哪位高手能帮帮本菜鸟写出完整的代码,谢谢了!
我将那个rundll32.exe和shimgvw.dll文件都复制到了debug目录下也是一样的提示
我又将前面的路径加上c:\\windows\\system32\\也是一样的
实在没辙了

kid83的方法我试过了,点击后没有反应,进程里提示rundll32进程已经运行,但过一会自动结束了

System.Diagnostics.Process process = new System.Diagnostics.Process ( );
string fileName = @"E:\My Documents\My Pictures\20080525007.jpg";
process.StartInfo.FileName = fileName;
process.StartInfo.Arguments = "rundll32.exe C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen";
process.StartInfo.UseShellExecute = true;
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.Start ( );
process.Close ( );

rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen 图片路径就可以了。

System.Diagnostics.Process.Start("rundll32.exe shimgvw.dll,ImageView_Fullscreen C:\\a.jpg")

System.Diagnostics.Process.Start("rundll32.exe shimgvw.dll,ImageView_Fullscreen " + s);

这个跟picturebox有关联吗?我看不出来,结果不是直接用图片浏览器打开吗?

关注一下……