创建桌面快捷方式:
- 首先,需要添加System.Runtime.InteropServices命名空间和System.Drawing命名空间,以调用Shell32.dll中的方法和绘制图标。
using System.Runtime.InteropServices;
using System.Drawing;
- 然后,使用DllImport属性声明需要调用的方法:
[DllImport("Shell32.dll")]
public static extern int SHCreateDesktopShortcut(string desktop, string link, string arguments, string description, int icon);
该方法接受五个参数:
- desktop:要在其中添加快捷方式的目标桌面。
- link:快捷方式的文件名及路径。
- arguments:快捷方式执行的命令行参数。
- description:快捷方式的描述。
- icon:快捷方式的图标索引。
- 最后,在代码中调用该方法即可创建桌面快捷方式:
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
string link = Path.Combine(desktop, "My Shortcut.lnk");
string arguments = "cmd /c start www.baidu.com";
string description = "This is my shortcut.";
int icon = 0;
SHCreateDesktopShortcut(desktop, link, arguments, description, icon);
上述代码将在桌面创建一个名为“My Shortcut”的快捷方式,点击该快捷方式将会在浏览器中打开百度网站。
添加网页到收藏夹:
- 首先,需要添加Interop.SHDocVw命名空间和Interop.SHDocVw.dll文件的引用,以调用Internet Explorer的API。
using SHDocVw;
- 然后,需要创建一个InternetExplorer对象,并打开相应的网页。
InternetExplorer ie = new InternetExplorer();
ie.Visible = true;
ie.Navigate("www.baidu.com");
- 接着,等待网页加载完成。可以使用BeforeNavigate2事件来实现。在网页加载完成后添加到收藏夹。
ie.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(ieBeforeNavigate2);
- 最后,在BeforeNavigate2事件的回调函数中添加网页到收藏夹:
private void ieBeforeNavigate2(object pDisp, ref object URL, ref object Flags, ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
try
{
IShellFavoritesNameSpace favorites = new ShellFavoritesNameSpace();
favorites.ImportFavorite("Favorites", "https://www.baidu.com", null);
MessageBox.Show("Add to favorites successfully!");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
上述代码将在收藏夹中添加百度网站的链接,同时提示添加成功的消息框。
注意:添加到收藏夹操作需要用户授权,所以需要确保代码运行在具有管理员权限的账户上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现创建桌面快捷方式与添加网页到收藏夹的示例 - Python技术站