日期:2010-08-23  浏览次数:20621 次

  昨天想实现一个小功能,就是把正在浏览的某网页添加到收藏夹中。以前在页面直接用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。