C#.NET¥á¥â¡§IE¤ªµ¤¤ËÆþ¤êURL¤Î¼èÆÀ
¸½ºß¥¿¥Ö¥Ö¥é¥¦¥¶µ¡Ç½¤Ä¤¤Î¥½¥Õ¥È¥¦¥§¥¢¤òºîÀ®¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡Ä
¤ä¤Ï¤êIE¥Ö¥é¥¦¥¶¤Î¤ªµ¤¤ËÆþ¤êµ¡Ç½¤Ïɬ¿Ü¤«¤È»×¤Ã¤Æ¤Þ¤¹¡£
¤½¤³¤Ç¤ªµ¤¤ËÆþ¤êµ¡Ç½¤ò´èÄ¥¤Ã¤Æºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¤È¤â¤¢¤ì˺¤ì¤¿¤È¤¤Î¤¿¤á¤Ë¥á¥â¤·¤Æ¤ª¤¤Þ¤¹¡£
¤Þ¤¡¤ä¤Ã¤Æ¤ß¤ë¤È¤½¤³¤Þ¤ÇÆñ¤·¤¤¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡Ä
.NET¤ÎEnvironment¥¯¥é¥¹¤Ç¡¢²¼µ¤Î¥³¡¼¥É¤ÇPC¤Ë¤¢¤ë¡Ö¤ªµ¤¤ËÆþ¤ê¡×¥Õ¥©¥ë¥À¤Î¥Ñ¥¹¤ò´Êñ¤ËÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
//IE¤ªµ¤¤ËÆþ¤ê¥Õ¥©¥ë¥À¼èÆÀ
String bookmarkFolderPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
¤³¤Î¥Õ¥©¥ë¥À¥Ñ¥¹¤ò»È¤Ã¤Æ¡Ö¤ªµ¤¤ËÆþ¤ê¡×¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤·¤Þ¤¹¡£
¤Á¤Ê¤ß¤Ë¡Ö¤ªµ¤¤ËÆþ¤ê¡×¥Õ¥©¥ë¥À°Ê³°¤Ë¤â¡Ö¥Ç¥¹¥¯¥È¥Ã¥×¡×¤ä¡Ö¥Þ¥¤¥Ô¥¯¥Á¥ã¡×¤Ê¤É¤Î¥Õ¥©¥ë¥À¤â»÷¤¿¤è¤¦¤Ë¼èÆÀ¤Ç¤¤Þ¤¹¡£
//¥Ç¥¹¥¯¥È¥Ã¥×¥Õ¥©¥ë¥À¼èÆÀ
String desktopFolderPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
//ÍúÎò¥Õ¥©¥ë¥À¼èÆÀ
String historyFolderPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.History);
//¥Þ¥¤¥Ô¥¯¥Á¥ã¥Õ¥©¥ë¥À¼èÆÀ
String myPictureFolderPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
//¥Þ¥¤¥É¥¥å¥á¥ó¥È¥Õ¥©¥ë¥À¼èÆÀ
String myDodumentFolderPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.Personal);
//¥×¥í¥°¥é¥à¥Õ¥¡¥¤¥ë¥Õ¥©¥ë¥À¼èÆÀ
String programFilesPath
¡¡¡¡¡¡¡¡¡¡= Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
¤µ¤Æ¡¢¡Ö¤ªµ¤¤ËÆþ¤ê¡×¥Õ¥©¥ë¥À¤Î¥Ñ¥¹¤ò¼èÆÀ¤·¤¿¸å¤Ç¤¹¤¬¡½¡½
¤ªµ¤¤ËÆþ¤ê¥Õ¥©¥ë¥À¤ÎÃæ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï¥·¥ç¡¼¥È¥«¥Ã¥È¥Õ¥¡¥¤¥ë(.url)¤Ç¤¹¡£
¤½¤Î°Ù¡¢¥Ö¥é¥¦¥¶¤ËľÀÜ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òUrl¤Ë»ØÄꤷ¤Æ¤âɽ¼¨¤·¤Æ¤¯¤ì¤Þ¤»¤ó¡£
¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ¼Â¹Ô¤µ¤»¤ë¤È¿·µ¬IE¤¬µ¯Æ°¤µ¤ì¤ë°Ù¡¢¥¿¥Ö¥Ö¥é¥¦¥¶¤òºî¤ê¤¿¤¤»ä¤Ë¤Ï¤³¤Î¼ê¤Ï»È¤¨¤Þ¤»¤ó¡£
¤Ê¤Î¤Ç¡¢¥·¥ç¡¼¥È¥«¥Ã¥È¥Õ¥¡¥¤¥ë¤ò¥Æ¥¥¹¥È¤È¤·¤Æ³«¤¤¤Æ¡¢URLÉôʬ¤À¤±ÆÉ¤ß¹þ¤à¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
²¼µ¤Ë»ä¤¬½ñ¤¤¤¿¥³¡¼¥É¤ò¼¨¤·¤Þ¤¹¤¬¡¢
¥Õ¥¡¥¤¥ë¤ò1¹Ô¤º¤ÄÆÉ¤ß¹þ¤ß¡ÖURL=¡×¤¬ÀèÆ¬¤Ç»Ï¤Þ¤ë¹Ô¤¬¡Ö¤ªµ¤¤ËÆþ¤êURL¡×¤Îʸ»úÎó¤Ç¤¹¡£
¤³¤ì¤ÏString¥¯¥é¥¹¤ÎIndexOf´Ø¿ô¤ò»È¤¨¤Ð¤¹¤°¤Ë³Îǧ¤Ç¤¤ë¤«¤È»×¤¤¤Þ¤¹¡£
¤¿¤À¤·¡¢¤³¤Îʸ»úÎó¤Î¤Þ¤Þ¤À¤È¡ÖURL=¡×¤¬¼ÙËâ¤Ê¤Î¤Ç¡¢ºï½ü¤·¤Þ¤¹¡£
¤³¤ì¤âString¥¯¥é¥¹¤ÎReplace´Ø¿ô¤Ç¤¹¤°¤Ë½èÍý¤Ç¤¤Þ¤¹¡£
string path; //¤ªµ¤¤ËÆþ¤ê¥Õ¥©¥ë¥À¥Ñ¥¹
string line;
string url;
//¥·¥ç¡¼¥È¥«¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÍ̵¤ò³Îǧ
if (File.Exists(path))
{
StreamReader reader = new StreamReader(path,Encoding.Default);
while (!reader.EndOfStream)
{
line = reader.ReadLine();
if (line.IndexOf("URL=") == 0)
{
url = line.Replace("URL=","");
}
}
reader.Close();
}
¾åµ¤ÎurlÊÑ¿ô¤Ë¡¢¥·¥ç¡¼¥È¥«¥Ã¥È¥Õ¥¡¥¤¥ë¤ËÅÐÏ¿¤µ¤ì¤¿URL¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
¸å¤Ï¤³¤ÎURL¤ò¡¢TreeView¤Ê¤êComboBox¤Ê¤ê¹¥¤¤Ê¥Õ¥©¡¼¥à¤ËÆþ¤ì¤Æ½èÍý¤µ¤»¤Þ¤·¤ç¤¦¡£
»ä¤ÏTreeView¤Ç½èÍý¤µ¤»¤Þ¤·¤¿¤¬¡Ä¾ÜºÙ¤Ï¾Ê¤¤Þ¤¹¡£
¥µ¥ó¥×¥ë¥³¡¼¥É¤È¤·¤Æ¡¢º£²ó½ñ¤¤¤¿ÆÈ¼«¤ÎBookmarkTree¥¯¥é¥¹¤Ï²¼µ¤Ëµ¤·¤Æ¤ª¤¤Þ¤¹¡£
¡Ä¤¢¤Þ¤ê¾å¼ê¤Ê¥³¡¼¥É¤Ç¤Ï¤Ê¤¤¤Î¤Ç»²¹Í¤Þ¤Ç¤Ë¡Ä
¤³¤Î¤Þ¤Þ¤À¤È¤ªµ¤¤ËÆþ¤ê¤òÄɲ䷤Ƥ⤹¤°¤Ëɽ¼¨¤¬È¿±Ç¤µ¤ì¤Ê¤¤ÌäÂ꤬¤¢¤ê¤Þ¤¹¤¬°¤·¤«¤é¤º¡£
²¼µ¤Î¥³¡¼¥É¤ÎÄ̤êTreeView¤ò·Ñ¾µ¤·¤ÆºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¤Ê¤ª¡¢MyTabBrowser¥¯¥é¥¹¤ÏÆÈ¼«¤Î¥¿¥Ö¥Ö¥é¥¦¥¶¥¯¥é¥¹¤Ç¤¹¤¬¡¢¤³¤³¤Î¾ÜºÙ¤Ï¾Êά¤·¤Þ¤¹¡£¡Ä´õ˾¤¬¤¢¤ì¤ÐºÜ¤»¤Þ¤¹¤¬¡£
///////////////
//IE Bookmark//
///////////////
public class BookmarkTree : TreeView
{
MyTabBrowser tabBrowser;
string bookmarkFolderPath;
public BookmarkTree(MyTabBrowser tabs)
{
tabBrowser = tabs;
TreeNode node;
int fldrNo = 0;
//IE¤ªµ¤¤ËÆþ¤ê¼èÆÀ
bookmarkFolderPath
= Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
//IE¤ªµ¤¤ËÆþ¤êÇÛÃÖ
foreach
(string rowStr in Directory.GetDirectories(bookmarkFolderPath))
{
node = this.Nodes.Add(fileName(rowStr));
fldrNo = SetChildFavorites(node, rowStr, fldrNo);
}
foreach
(string rowStr in Directory.GetFiles(bookmarkFolderPath, "*.url"))
{
this.Nodes.Add(newTreeNode(rowStr));
}
//¥¤¥Ù¥ó¥ÈÀßÄê
this.AfterSelect += new TreeViewEventHandler(BookmarkTree_AfterSelect);
}
private int SetChildFavorites(TreeNode node, string path, int nodeNo)
{
TreeNode cNode;
//¥Õ¥©¥ë¥ÀÆâ¤Ë¥ê¥ó¥¯ÄɲÃ
foreach (string rowStr in Directory.GetDirectories(path))
{
cNode = node.Nodes.Add(fileName(rowStr));
nodeNo = SetChildFavorites(cNode, rowStr, nodeNo);
}
foreach (string rowStr in Directory.GetFiles(path, "*.url"))
{
node.Nodes.Add(newTreeNode(rowStr));
}
return nodeNo;
}
private TreeNode newTreeNode(string path)
{
string name = fileName(path);
TreeNode treeNode = new TreeNode(name);
return treeNode;
}
//¥Ñ¥¹¤«¤é¥Õ¥©¥ë¥À̾¡¦¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ
private string fileName(string filePath)
{
string name;
//¥Ñ¥¹¤ò¥¤Ç¶èÀÚ¤êºÇ½ªÍ×ÁǤòÊÖ¤¹
string[] fileNameArray = filePath.Split('¥¥');
name = fileNameArray[fileNameArray.Length - 1];
name = name.Replace(".url","");
return name;
}
//¥Î¡¼¥É¤¬ÁªÂò¤µ¤ì¤¿¤é
private void BookmarkTree_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeView tree = (TreeView)sender;
TreeNode node = (TreeNode)e.Node;
string nodeStr = node.FullPath;
//WEB¥Ú¡¼¥¸¤ò³«¤¯
openPage(bookmarkFolderPath + "¥¥" + nodeStr + ".url");
}
private void openPage(string path)
{
string line;
string url;
//¥·¥ç¡¼¥È¥«¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÍ̵¤ò³Îǧ
if (File.Exists(path))
{
StreamReader reader = new StreamReader(path,Encoding.Default);
while (!reader.EndOfStream)
{
line = reader.ReadLine();
if (line.IndexOf("URL=") == 0)
{
url = line.Replace("URL=","");
tabBrowser.AddNewTabPage(new Uri(url));
}
}
reader.Close();
}
}
¤³¤ì¤Ç°ì±þ»ä¤Î´Ä¶¤Ç¤Ïư¤¤Þ¤·¤¿¡£
¤ªµ¤¤ËÆþ¤êÄɲäÎÌäÂê¤Ï¡¢ÎÏÉÔ¤ǤޤÀ²þÁ±¤Ç¤¤Þ¤»¤ó¤¬¡¢»þ´Ö¤¬¤¢¤ì¤ÐÄ´¤Ù¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¤ªµ¤¤ËÆþ¤ê¤ËÄɲ䵤줿»þ¤Î¥¤¥Ù¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¡¢¼«Ê¬¤Ç¥¤¥Ù¥ó¥Èºî¤ë¤·¤«¤Ê¤¤¤Î¤«¡Ä
»ä¤Î¼ÂÎϤǤϤÁ¤ç¤Ã¤È¥¥Ä¥¤¤«¤â¤Ç¤¹¡Ä(´À
- 2008.01.13 Sunday
- C#
- 17:57
- comments(8)
- trackbacks(0)
- -
- -
¥¨¥¯¥¹¥×¥í¡¼¥é¾å¤Ç¡¢
C:\Documents and Settings\[¥æ¡¼¥¶¡¼Ì¾]\¥Ç¥¹¥¯¥È¥Ã¥×
¤Î¥Õ¥©¥ë¥À¤òD¥É¥é¥¤¥Ö¤Ë
±¦¥¯¥ê¥Ã¥¯¤Ç¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤·[¤³¤³¤Ë°Üư¤¹¤ë]¤òÁªÂò¤¹¤ë¡£