winform 找到图片查看器

luluyy 2014-01-18 02:10:27
C/S结构程序 调用windows图片查看器 打开PictureBox中的图片, 在程序中有一个图片列表,右击点查看的时候用windows图片查看器打图片,图片以二进制方式存到了数据库中,在网上找了一段代码,有一个问题不知道怎么处理,请指点:


System.Diagnostics.Process process = new System.Diagnostics.Process();

process.StartInfo.FileName = picName;//这里设置的是图片目录,怎么打开PictureBox中的图片呢?

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();

...全文
264 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luluyy 2014-01-20
  • 打赏
  • 举报
回复
问题解决了 使用临时目录 哎
wind_cloud2011 2014-01-18
  • 打赏
  • 举报
回复
在列表框里选择文件名,就直接打开了相应目录下的图片了
wind_cloud2011 2014-01-18
  • 打赏
  • 举报
回复


 private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
      
        System.Diagnostics.Process process = new System.Diagnostics.Process();

        process.StartInfo.FileName = @"d:\images\"+listBox2.SelectedItem.ToString();//这里设置的是图片目录,怎么打开PictureBox中的图片呢? 

        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();
    }

Regan-lin 2014-01-18
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start("rundll32.exe", string.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"f:\demo.bmp"));
wind_cloud2011 2014-01-18
  • 打赏
  • 举报
回复
描述得有点让人看不明白,哈哈 那process.StartInfo.FileName =@"D:\11.png";
卧_槽 2014-01-18
  • 打赏
  • 举报
回复
引用 4 楼 luluyy 的回复:
[quote=引用 1 楼 wind_cloud2011 的回复:] 这个不是显示图片的代码。 服务端处理图片入库;客户端从读取库读取图片数据,并显示。 http://www.cnblogs.com/4E7S/archive/2011/06/03/2070278.html
引用 3 楼 wind_cloud2011 的回复:
http://xushaonian.blog.163.com/blog/static/39051316200912655356288/
两位大神,图片二进制保存到数据库 已经完成了,现在是要把图片读取来 然后用windows图片查看器打开这个图片[/quote] 先从数据库读出来,写到临时目录,然后调用图片浏览器显示这个文件。 或者自己写个图片浏览器,直接传二进制流也可以。
luluyy 2014-01-18
  • 打赏
  • 举报
回复
引用 2 楼 dylike 的回复:
process.start("c:\1.jpg")
读取二进制显示图片没有问题[比如显示到PictureBox中],现在的问题是怎么用windows图片查看器打开这张图片,开始用了Image.Save把图片保存到本地,但是每次读完后要删除,也就是说我每次看完关闭后要删掉,假如没有那个文件夹的写入权限会出问题,这样就把问题复杂化了。
luluyy 2014-01-18
  • 打赏
  • 举报
回复
引用 1 楼 wind_cloud2011 的回复:
这个不是显示图片的代码。 服务端处理图片入库;客户端从读取库读取图片数据,并显示。 http://www.cnblogs.com/4E7S/archive/2011/06/03/2070278.html
引用 3 楼 wind_cloud2011 的回复:
http://xushaonian.blog.163.com/blog/static/39051316200912655356288/
两位大神,图片二进制保存到数据库 已经完成了,现在是要把图片读取来 然后用windows图片查看器打开这个图片
wind_cloud2011 2014-01-18
  • 打赏
  • 举报
回复
http://xushaonian.blog.163.com/blog/static/39051316200912655356288/
dylike 2014-01-18
  • 打赏
  • 举报
回复
process.start("c:\1.jpg")
wind_cloud2011 2014-01-18
  • 打赏
  • 举报
回复
这个不是显示图片的代码。 服务端处理图片入库;客户端从读取库读取图片数据,并显示。 http://www.cnblogs.com/4E7S/archive/2011/06/03/2070278.html

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧