¤Ï¤Æ¤Ê¥À¥¤¥¢¥ê¡¼¤Ç¥Ö¥í¥°¤ò½ñ¤¤¤Æ¤Þ¤¹¡£
¥µ¥¤¥È¾Ò²ðŪ¤ÊÆâÍƤ¬Â¿¤¯¡¢¥µ¥¤¥È¤Ë¥ê¥ó¥¯Àè¤òµ½Ò¤¹¤ë»ö¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢¡Ê¸«½Ð¤·¤È¤·¤Æ¡Ë¥ê¥ó¥¯¤òµ½Ò¤¹¤ëºÝ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢
*[¥«¥Æ¥´¥ê̾][¥ê¥ó¥¯Àè:title=¥¿¥¤¥È¥ë¡Ê¾Êά²Ä¡Ë]
¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
Ëè²ó¤³¤ÎÄ̤ê¤Ëµ½Ò¤¹¤ë¤Î¤Ï¼ê´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢¥Ö¥é¥¦¥¶¤Î¥¢¥É¥ì¥¹Íö¤«¤é¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤¹¤ë¤À¤±¤Ç¡¢¾åµ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë½¾¤Ã¤ÆÀ°·Á½ÐÎϤ¹¤ë¥Ä¡¼¥ë¤òÀ©ºî¤·¤Þ¤·¤¿¡£
URL¤Î¤ß¼õ¤±¼è¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
DragEnter¥¤¥Ù¥ó¥È¤Ç¡¢URL¤Î¤ß¼õ¤±Æþ¤ì¤ë½èÍý¤òµ½Ò¤·¤Þ¤¹¡£
private void txt_Output_DragEnter(object sender, DragEventArgs e) { //URL¤Î¤ß¼õ¤±Æþ¤ì¤ë if (e.Data.GetDataPresent("UniformResourceLocator")) e.Effect = DragDropEffects.Link; else e.Effect = DragDropEffects.None; }
¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤ÎÆâÍƤ«¤é¡¢URL¤È¥¿¥¤¥È¥ë¤ÎÃê½Ð¤ò¤·¤Þ¤¹¡£
//¥í¡¼¥«¥ëÊÑ¿ô¤ÎÄêµÁ string sBuffer; //ºî¶ÈÍÑ string sURL; //URLÊÝ´ÉÍÑ string sTITLE; //TITLEÊÝ´ÉÍÑ string[] arysBuffer; byte[] arybBuffer; int iLength = 0; //¥É¥í¥Ã¥×¤µ¤ì¤¿¥ê¥ó¥¯¤ÎURL¤ò¼èÆÀ¤¹¤ë sURL = e.Data.GetData(DataFormats.Text).ToString(); //¥¿¥¤¥È¥ë¤Î¼èÆÀ if (sURL.IndexOf('\\') > -1) { arysBuffer = sURL.Split('\\'); sURL = arysBuffer[0]; sTITLE = arysBuffer[1]; } else { //FILEGROUPDESCRIPTOR¹½Â¤ÂΤΥǡ¼¥¿¤òMemoryStream¤Ç¼èÆÀ MemoryStream msBuffer = (MemoryStream)e.Data.GetData("FileGroupDescriptor"); //FileGroupDescriptor¤ÎŤµ¤ò¼èÆÀ msBuffer.Seek(76, SeekOrigin.Begin); iLength = 0; while (msBuffer.ReadByte() > 0) { iLength++; } //cFileName¤ÎÉôʬ¤òbyteÇÛÎó¤Ë¼èÆÀ arybBuffer = new byte[iLength]; msBuffer.Seek(76, SeekOrigin.Begin); msBuffer.Read(arybBuffer, 0, iLength); msBuffer.Close(); //Shift JIS¤Ç¥Ç¥³¡¼¥É¤¹¤ë sTITLE = System.Text.Encoding.GetEncoding("Shift_JIS").GetString(arybBuffer); //ºÇ¸å¤¬.url¤«³Îǧ¤·.url¤ò½üµî if (sTITLE.ToLower().EndsWith(".url")) { sTITLE = sTITLE.Substring(0, sTITLE.Length - 4); } }
Á°½Ò¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë½¾¤Ã¤Æ¡¢URL¤È¥¿¥¤¥È¥ë¤ò´Þ¤ó¤À¤Ï¤Æ¤ÊµË¡¤ò½ÐÎϤ·¤Þ¤¹¡£
//¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë½¾¤¤Ê¸»úÎó¤òÀ¸À® sBuffer = txt_Format.Text.Replace("<TITLE>", sTITLE); sBuffer = sBuffer.Replace("<URL>", sURL); //·ë²Ì¤ò½ÐÎÏ txt_Output.Text = txt_Output.Text + sBuffer + "\r\n";
À¸À®¤·¤¿ÆâÍƤò¡¢¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ø¥³¥Ô¡¼¤·¤Þ¤¹¡£
Clipboard.SetText(txt_Output.Text);
¥Ö¥é¥¦¥¶¤ÎURLÍ󤫤顢¤³¤Î¥¦¥£¥ó¥É¥¦¤ËÂФ·¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤¹¤ë¤È¡¢¡ÖFormat¡×Íó¤Ë½¾¤Ã¤Æ¡¢¤Ï¤Æ¤ÊµË¡¤Ç½ÐÎϤ·¤Þ¤¹¡£