昨天想实现一个小功能,就是把正在浏览的某网页添加到收藏夹中。以前在页面直接用JAVASCRIPT调用一个方法就搞定了,现在我是想用WINFORM来实现,我自己找了一下没有看到相关的方法(可能找的不仔细)。于是想了一下决定自己实现算了。
完成这个功能主要是两步,首先要取得系统用户的收藏夹目录,第二是要根据获得页面地址在收藏夹目录创建一个快捷方式。
要获得收藏加目录我们可以用GetFolderPath方法来完成,代码如下
1string path=Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites);要创建快捷方式需要用到IWshRuntimeLibrary命名空间,在这里我们要USING一下。并在引用里添加一个COM,windows script host object model。添加到收藏夹方法如下“
1public void addFavorites(string url,string filename,string savepath)
2 {
3 string path=Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites);
4 if(!System.IO.File.Exists(path+"\"+filename+savepath+".url"))
5 {
6
7 IWshShell_Class shell = new IWshShell_ClassClass();
8 IWshURLShortcut shortcut=null;
9 if(savepath=="Favorites")
10 {
11 shortcut = shell.CreateShortcut(Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites)+"\"+filename+".url") as IWshURLShortcut;
12 }
13 else
14 {
15 shortcut = shell.CreateShortcut(Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites)+"\"+savepath+"\"+filename+".url") as IWshURLShortcut;
16 }
17
18 shortcut.TargetPath = url;
19 shortcut.Save();
20 }
21 }
其中URL是你要保存网页的路径,filename是生成快捷方式的名称,savepath是在收藏夹中保存在哪个目录。
顺便想提个问题,有谁知道如何得到AxWebBrowser对象中statustext。