c# 调用系统默认图片浏览器打开图片

private void OpenImage(string fileName)
        {
            try
            {
                Process.Start(fileName);
            }
            catch (Exception ex)
            {
               // LogHelper.WriteLog("调用默认看图软件打开失败", ex);
                try
                {
                    string arg =
                        string.Format(
                            "\"{0}\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen  {1} ",
                            Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
                            , fileName);
                    var dllExe = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),
                        "rundll32.exe");
                   // LogHelper.WriteLog(string.Format("调用系统默认的图片查看器打开图片,参数为:{0} {1}", dllExe, arg));
                    System.Diagnostics.Process.Start(dllExe, arg);
                }
                catch (Exception e)
                {
                   // LogHelper.WriteLog("系统图片查看器打开图片失败", ex);

                    //打开文件夹并选中文件
                    var argment = string.Format(@"/select,""{0}""", fileName);
                    System.Diagnostics.Process.Start("Explorer", argment);
                }
            }
        }

说明,这个代码适用于程序的目标平台为x86

如果是x64,那么就需要做适当修改

原文地址:https://www.cnblogs.com/sczmzx/p/10340866.html

时间: 2024-10-10 20:40:29

c# 调用系统默认图片浏览器打开图片的相关文章

微信中如何通过手机系统默认外部浏览器打开指定网页URL

在微信的内置浏览器(QQ内置浏览器也一样)里他屏蔽了很多网页(特别是下载链接),不管是app的下载链接,还是普通网页只要稍微带一点营销性质的的链接都屏蔽了,这个问题有两个解决方案. 首先如果你是App下载链接就传到腾讯应用宝,但是这会给应用宝带来流量,如果二次下载折损率很高.其二就是提示引导用户在浏览器打开所以如果你没有将软件上传到应用宝里,或者你的文件不是APP,那么就需要第二种方法了,首先是需要判断用户的浏览器是否为微信内置浏览器,如果是弹出一个图层,提示用户点击右上角的三个点,然后点击在浏

Java 调用系统默认程序打开

比如,我要打开一个PPT文件,怎么办?最简单的办法,调用系统默认的PowerPoint打开. 这里用到的是  Java.awt.Desktop类 Desktop 类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件. 支持的操作包括: 启动用户默认浏览器来显示指定的 URI: 启动带有可选 mailto URI 的用户默认邮件客户端: 启动已注册的应用程序,以打开.编辑或打印指定的文件. 下面举个栗子: package com.sujian; import ja

Android调用系统相册和相机选择图片并显示在imageview中

Android调用系统相册和相机选择图片并显示在imageview中,在系统调用相机拍摄中,直接返回的是经过压缩处理后的图像,当你直接把返还后的图片放在imageview中时 图片就会非常的模糊,所以要经过先存放在sd中,然后在处理并显示.当调用系统相册时,因为Android系统从4.4版本以后系统不再返回真实的uri路径,而是封装过后的uri路径,所以当你写代码时必须注意,4.4是一个分水岭,4.4以上的版本必须就通过解析和相应的处理才能获取到真实的uri路径. 先上程序运行的结果. 这个是调

cocos2d-x调用android内嵌浏览器打开网页

cocos2d-x调用android内嵌浏览器打开网页,可以从入口传入网址,C++调用android 的api即可实现.方法也很简单 1. 修改"cocos2dx\platform\win32"下的CCApplication.h和CCApplication.cpp,添加函数 头文件声明 void openURL(const char* pszUrl); cpp文件实现: void CCApplication::openURL(const char* pszUrl) { ShellExe

Android图片系列(1)-------调用系统相册与相机获取图片

Android开发过程中,我们经常需要获取图片,你可以通过获取手机相册的图片,也可以调用相机拍照获取图片.这里主要讲这两个获取图片的方式,并记录其中遇到的小问题. 调用相册获取图片 这个功能非常简单,这里不多说了,这里贴出关键代码 Intent openAlbumIntent = new Intent(Intent.ACTION_GET_CONTENT); openAlbumIntent.setType("image/*"); startActivityForResult(openAl

使用系统默认接口来剪切图片

如果调用系统的图片接口: Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); // intent.addCategory(Intent.CATEGORY_OPENABLE); // intent.setType("image/*"); startActivityForResult(intent, REQUEST_COD

XP系统下Chrome浏览器打开某些网站闪退的解决办法

这个星期用Chrome浏览网站的过程中,突然出现没有什么提示的闪退现象.一开始没怎么注意,以为只是偶然现象,但当重启Chrome后点恢复按钮再次闪退,这就可以肯定是因为打开某些网站造成.于是再次重启Chrome浏览器并按下恢复按钮,在可能导致Chrome闪退那个网站打开之前关闭那个分页,这样Chrome就不闪退了.这个办法只能治标不能治本,下次再打开这个网站同样会出现闪退的现象. 为了彻底解决这个问题,于是就用搜索引擎找找看有没有解决办法.首先用"Chrome打开某些网站闪退"作为关键

实现浏览器打开图片的url默认是下载

在返回的response里面设置HTTP头的Content-Disposition=attachement;filename=xxxx,即可实现文件另存为"xxxx":Content-Disposition=attachement则按照原文件名另存为的下载模式,可以满足开发者的不同需求:

Intent调用系统拍照程序,返回图片太小的问题

之前採用的方式(返回的照片会被压缩,不能达到预期效果): Intent intent = new Intent(); Intent intent_camera = getPackageManager() .getLaunchIntentForPackage("com.android.camera"); if (intent_camera != null) { intent.setPackage("com.android.camera"); } intent.setA