• 在ClickOnce应用程序中创建桌面快捷方式


    看到teamleader的博客里关于如何“在ClickOnce应用程序中创建桌面快捷方式 ”,本文对他的方式进行更简单的实现,为了文章完整,将他的文章拷贝过来了,见谅。如下是他文章的全文:

    -----------------------------------------------------------------------------------------------------------------

    在ClickOnce的发布选项中没有在桌面创建快捷方式的选项,而许多客户习惯于使用桌面快捷方式。
    大家都知道ClickOnce程序的实际路径是不固定的,每当程序更新到新版本的时候,启动位置都会改变,这样传统的快捷方式创建方式就不好用了。

    通过研究那个开始菜单中的快捷方式,我发现其实他就是一个文件,后缀是.appref-ms,而且里面的内容是文本格式,例如:
    http://zjj/WindowsApplication26/Win26.application#Win26.application, Culture=neutral, PublicKeyToken=6e8580a27fa3dbc7, processorArchitecture=msil
    可以看到,这里面没有存储实际的可执行文件的地址,是一个通用地址,即时有新版本发布,也一样好用。

    有了这个发现,创建桌面快捷方式就很简单了:在桌面上创建一个后缀为.appref-ms的文本文件即可。
    文本内容:
    1、在自己的开发机器上发布一下
    2、打开开始菜单,找到那个快捷方式文件,用记事本打开

    需要注意的是:文本的编码格式是Unicode

    --------------------------------------------------------------------------------------------------------------------

    通过自己写入文件太麻烦,最简单方式:在程序启动时,进行拷贝

    下面的是我的实现代码:

    private static void CreateDesktopShortCut()
            {
               
                
    string path = System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu);
                
    if (!path.EndsWith("\\"))
                {
                    path 
    += "\\";
                }
                path 
    += @"Programs\杭州派尔科技有限公司";
                
    if (System.IO.Directory.Exists(path))
                {
                    
    string desktop = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
                    
    if (!desktop.EndsWith("\\"))
                    {
                        desktop 
    += "\\";
                    }
                    
    foreach (String file in System.IO.Directory.GetFiles(path))
                    {
                        System.IO.FileInfo fi 
    = new System.IO.FileInfo(file);
                        
    if (!System.IO.File.Exists(desktop + fi.Name))
                        {
                            fi.CopyTo(desktop 
    + fi.Name);
                        }
                    }
                }
            }
  • 相关阅读:
    转发-》c++ stl multimap基本操作使用技巧详细介绍
    控件传递,待更新
    封装函数获取体的最大4个角
    找vector最大最小《转载》
    获取面面积,资料来自录制和网友分享
    【转】插入排序
    NXOpen获取UFUN的tag
    创建注释
    创建铜公开粗程序
    NXopen create chamfer tool
  • 原文地址:https://www.cnblogs.com/bookwormzju/p/1314213.html
Copyright © 2020-2023  润新知