c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹

c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹

本文章源代码Src下载地址:http://download.csdn.net/detail/testcs_dn/5141580

开始菜单》程序菜单项:

添加到收藏夹:

相关函数代码:

public const int SW_SHOWNORMAL = 1;
        /// <summary>
        /// 创建快捷方式。
        /// </summary>
        /// <param name="shortcutPath">快捷方式路径。</param>
        /// <param name="targetPath">目标路径。</param>
        /// <param name="workingDirectory">工作路径。</param>
        /// <param name="description">快捷键描述。</param>
        public static bool CreateShortcut(string shortcutPath, string targetPath, string workingDirectory, string description, string iconLocation = null)
        {
            try
            {
                CShellLink cShellLink = new CShellLink();
                IShellLink iShellLink = (IShellLink)cShellLink;
                iShellLink.SetDescription(description);
                iShellLink.SetShowCmd(SW_SHOWNORMAL);
                iShellLink.SetPath(targetPath);
                iShellLink.SetWorkingDirectory(workingDirectory);

                if (!string.IsNullOrEmpty(iconLocation))
                {
                    iShellLink.SetIconLocation(iconLocation, 0);
                }

                IPersistFile iPersistFile = (IPersistFile)iShellLink;
                iPersistFile.Save(shortcutPath, false);
                Marshal.ReleaseComObject(iPersistFile);
                iPersistFile = null;
                Marshal.ReleaseComObject(iShellLink);
                iShellLink = null;
                Marshal.ReleaseComObject(cShellLink);
                cShellLink = null;
                return true;
            }
            catch //(System.Exception ex)
            {
                return false;
            }
        }
/// <summary>
        /// 创建桌面快捷方式
        /// </summary>
        /// <param name="targetPath">可执行文件路径</param>
        /// <param name="description">快捷方式名称</param>
        /// <param name="iconLocation">快捷方式图标路径</param>
        /// <param name="workingDirectory">工作路径</param>
        /// <returns></returns>
        public static bool CreateDesktopShortcut(string targetPath, string description, string iconLocation = null, string workingDirectory = null)
        {
            if (string.IsNullOrEmpty(workingDirectory))
            {
                workingDirectory = Shortcut.GetDeskDir();
            }
            return Shortcut.CreateShortcut(Shortcut.GetDeskDir() + "\\" + description + ".lnk", targetPath, workingDirectory, description, iconLocation);
        }

        /// <summary>
        /// 创建程序菜单快捷方式
        /// </summary>
        /// <param name="targetPath">可执行文件路径</param>
        /// <param name="description">快捷方式名称</param>
        /// <param name="menuName">程序菜单中子菜单名称,为空则不创建子菜单</param>
        /// <param name="iconLocation">快捷方式图标路径</param>
        /// <param name="workingDirectory">工作路径</param>
        /// <returns></returns>
        public static bool CreateProgramsShortcut(string targetPath, string description, string menuName, string iconLocation = null, string workingDirectory = null)
        {
            if (string.IsNullOrEmpty(workingDirectory))
            {
                workingDirectory = Shortcut.GetProgramsDir();
            }
            string shortcutPath = Shortcut.GetProgramsDir();
            if (!string.IsNullOrEmpty(menuName))
            {
                shortcutPath += "\\" + menuName;
                if (!System.IO.Directory.Exists(shortcutPath))
                {
                    try
                    {
                        System.IO.Directory.CreateDirectory(shortcutPath);
                    }
                    catch //(System.Exception ex)
                    {
                        return false;
                    }
                }
            }
            shortcutPath += "\\" + description + ".lnk";
            return Shortcut.CreateShortcut(shortcutPath, targetPath, workingDirectory, description, iconLocation);
        }
        /// <summary>
        /// 将网页添加到收藏夹
        /// </summary>
        /// <param name="url">要添加到收藏夹的网址</param>
        /// <param name="description">标题</param>
        /// <param name="folderName">收藏文件夹名称</param>
        /// <param name="iconLocation">图标文件路径</param>
        /// <param name="workingDirectory">工作路径</param>
        /// <returns></returns>
        public static bool AddFavorites(string url, string description, string folderName, string iconLocation = null, string workingDirectory = null)
        {
            if (string.IsNullOrEmpty(workingDirectory))
            {
                workingDirectory = Shortcut.GetProgramsDir();
            }
            string shortcutPath = Shortcut.GetFavoriteDir();
            if (!string.IsNullOrEmpty(folderName))
            {
                shortcutPath += "\\" + folderName;
                if (!System.IO.Directory.Exists(shortcutPath))
                {
                    try
                    {
                        System.IO.Directory.CreateDirectory(shortcutPath);
                    }
                    catch //(System.Exception ex)
                    {
                        return false;
                    }
                }
            }
            shortcutPath += "\\" + description + ".lnk";
            return Shortcut.CreateShortcut(shortcutPath, url, workingDirectory, description, iconLocation);
        }

本文章源代码Src下载地址:http://download.csdn.net/detail/testcs_dn/5141580

时间: 2024-10-22 17:33:26

c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹的相关文章

C#实现创建桌面快捷方式与添加网页到收藏夹的示例_C#教程

今天来介绍一个小功能,就是把正在浏览的某网页添加到收藏夹中.完成这个功能主要是两步,首先要取得系统用户的收藏夹目录,第二是要根据获得页面地址在收藏夹目录创建一个快捷方式.具体我们就一起来了解一下吧. 一.C#创建快捷方式 要创建快捷方式须引用IWshRuntimeLibrary.dll,引用方式为:对项目添加引用-->选择COM组件-->选择"Windows Script Host Object Model"确定,则添加成功!接下来就是编码: /// <summary

C++ 创建桌面快捷方式 开始菜单的实现代码

这篇文章介绍了C++ 创建桌面快捷方式,开始菜单的实现代码,需要的朋友可以参考一下   复制代码 代码如下: void CInstall_ProgressDlg::CreateShortCut(CString csLinkPath, CString csExePath, CString csIconPath) { HRESULT hres; hres = ::CoInitialize(NULL); if(S_OK == hres) { //delete old link CFileFind cf

PHP创建桌面快捷方式的实例代码

 本篇文章主要是对PHP创建桌面快捷方式的实例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助    代码如下: $shortCut = "[InternetShortcut] URL=http://www.jb51.net IDList= [{000214A0-0000-0000-C000-000000000046}] Prop3=19,2 "; Header("Content-type: application/octet-stream"); hea

Android应用创建桌面快捷方式代码_Android

android的快捷方式比较简单,就是发一个系统的广播,然后为快捷方式设置Intent--- package com.xikang.android.slimcoach.utils; /** * @author huiych * 创建快捷方式 * @created 2013-02-21 * */ import android.content.Intent; import android.os.Parcelable; import com.xikang.android.slimcoach.AppXi

ubuntu创建桌面快捷方式

  ubuntu创建桌面快捷方式 在ubuntu中一些自己安装的程序没有创建快捷方式,每次都通过绝对路径执行比较复杂,可以通过自己创建快捷方式在桌面上,这样方便了每次的启动.我是给chrome创建的快捷方式,在这里和大家分享一下. 首先将下面的代码复制到一个文件中,文件名的格式为:xxxx.desktop . xxxx为你随意取的名字,以简单易懂为原则.一般就是程序的名字. [Desktop Entry] Categories=Development; Comment[zh_CN]= Comme

Linux下桌面快捷方式创建实例

  今天到网上搜ubuntu创建桌面快捷方式,发现尽是些不负责任,有问题的教程,故我也发教程一篇 在你的Home/Desktop文件夹下面新建一个xxx.desktop的文件,并且加上执行权限 复制代码 代码如下: chmod +x xxx.desktop 具体内容参照下面的模板,顺便讲一下linux下软件的安装方法,以sublime text 2为例 下载sublime linux的安装包,在你的home目录新建一个目录名,可以叫app,或者myapps啥的,你自己明白就行,就是软件的安装目录

php创建桌面快捷方式实现方法_php技巧

第一种情况:php生成网页桌面快捷方式 将介绍使用php生成网页桌面快捷方式的代码,并添加图标及解决不同浏览器保存出现的乱码问题. 我们访问网站时,如果网站的内容很有吸引,一般我们都会使用浏览器的收藏夹功能,收藏此网站. 在浏览器收藏的网页,需要打开浏览器,再从收藏夹选定访问. 如果可以在桌面直接进入到网站,这样可以为用户访问提供便利. 我们可以使用php创建网页的快捷入口文件,保存到用户桌面,方便用户快速访问. 生成代码如下: <?php $filename = '破晓领域.url'; $ur

android 为应用程序创建桌面快捷方式技巧分享_Android

我们开发一款软件后,如果手机装的软件过多,去翻的话会很难翻的,所以,在主页面有一个快捷方式的话会很不错的,下面是详细代码: 复制代码 代码如下: /** * 创建桌面快捷方式 */ private void createShortcut() { SharedPreferences setting = getSharedPreferences("silent.preferences", 0); // 判断是否第一次启动应用程序(默认为true) boolean firstStart =

PowerShell脚本实现创建桌面快捷方式的方法_PowerShell

本文介绍如何使用PowerShell将一个程序或文件,创建一个桌面快捷方式.在Windows系统里面,手工操作创建桌面快捷方式是很容易的,您只需要右键拖动文件到桌面,然后放开,在自动弹出的菜单中选择"在此创建快捷方式"即可完成,但要编程来实现这个效果就比较复杂了. 首先,我们要使用到COM组件,创建桌面快捷方式,最简单的办法是调用WScript.Shell这个COM组件.那么在PowerShell如何创建一个COM组件呢? 复制代码 代码如下: $shell = New-Object