This commit is contained in:
143
Form1.cs
Normal file
143
Form1.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace CyworldDownloader
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
string strLoginURL = "http://www.cyworld.com";
|
||||
string strContentURL = "http://minihp.cyworld.com/pims/board/image/imgbrd_list.asp?tid=21572675&cpage=1";
|
||||
|
||||
bool m_bFirst = true;
|
||||
|
||||
List<string> photoURLlist = new List<string>();
|
||||
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
wbLogin.Navigate(strLoginURL);
|
||||
}
|
||||
|
||||
private void wbLogin_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
|
||||
{
|
||||
WebBrowser browser = (WebBrowser)sender;
|
||||
if(e.Url.Host != browser.Url.Host)
|
||||
return;
|
||||
|
||||
if(m_bFirst == true)
|
||||
{
|
||||
wbLogin.Document.GetElementById("ID").InnerText = "_last_@hanmail.net";
|
||||
wbLogin.Document.GetElementById("PASSDM").Focus();
|
||||
|
||||
wbLogin.Document.GetElementsByTagName("HTML")[0].ScrollTop = 201;
|
||||
wbLogin.Document.GetElementsByTagName("HTML")[0].ScrollLeft = 652;
|
||||
|
||||
m_bFirst = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
photoURLlist.Clear();
|
||||
wbContent.Navigate(strContentURL);
|
||||
}
|
||||
}
|
||||
|
||||
private void wbContent_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
|
||||
{
|
||||
WebBrowser browser = (WebBrowser)sender;
|
||||
if(e.Url.Host != browser.Url.Host)
|
||||
return;
|
||||
|
||||
HtmlElement element = browser.Document.GetElementsByTagName("BODY")[0];
|
||||
|
||||
//StreamWriter writer = new StreamWriter("content.html");
|
||||
//writer.Write(element.InnerHtml);
|
||||
//writer.Close();
|
||||
|
||||
string strTarget = element.InnerHtml;
|
||||
while(true)
|
||||
{
|
||||
int iPos = strTarget.IndexOf("file_down");
|
||||
if(iPos < 0)
|
||||
break;
|
||||
|
||||
int iPos2 = strTarget.Substring(Math.Max(iPos-200, 0), 200).LastIndexOf("http") + Math.Max(iPos-200, 0);
|
||||
int iPos3 = strTarget.Substring(iPos2, 500).IndexOf("\"") + iPos2;
|
||||
string photourl = strTarget.Substring(iPos2, iPos3-iPos2);
|
||||
photoURLlist.Add(photourl);
|
||||
Console.WriteLine(photourl);
|
||||
|
||||
strTarget = strTarget.Substring(iPos3, strTarget.Length-iPos3);
|
||||
}
|
||||
|
||||
if(photoURLlist.Count > 0)
|
||||
wbPhoto.Navigate(photoURLlist[0]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void wbPhoto_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
|
||||
{
|
||||
WebBrowser browser = (WebBrowser)sender;
|
||||
if(e.Url.Host != browser.Url.Host)
|
||||
return;
|
||||
|
||||
|
||||
// 참고
|
||||
// http://www.developerfusion.com/code/4712/generate-an-image-of-a-web-page/
|
||||
|
||||
using (Graphics srcGraphics = browser.CreateGraphics())
|
||||
{
|
||||
using (Graphics destGraphics = this.pictureBox1.CreateGraphics())
|
||||
{
|
||||
IntPtr hdcDest = destGraphics.GetHdc();
|
||||
IntPtr hdcSrc = srcGraphics.GetHdc();
|
||||
GDI32.BitBlt(
|
||||
hdcDest,
|
||||
0, 0,
|
||||
browser.ClientRectangle.Width, browser.ClientRectangle.Height,
|
||||
hdcSrc,
|
||||
0, 0,
|
||||
(int) GDI32.SRCCOPY
|
||||
);
|
||||
srcGraphics.ReleaseHdc(hdcSrc);
|
||||
destGraphics.ReleaseHdc(hdcDest);
|
||||
}
|
||||
}
|
||||
|
||||
//HtmlDocument dom = browser.Document;
|
||||
|
||||
//htmlc
|
||||
|
||||
//IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument;
|
||||
//IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();
|
||||
|
||||
//foreach(IHTMLImgElement img in doc.images)
|
||||
//{
|
||||
// imgRange.add((IHTMLControlElement)img);
|
||||
|
||||
// imgRange.execCommand("Copy", false, null);
|
||||
|
||||
// using(Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
|
||||
// {
|
||||
// bmp.Save(@"C:\"+img.nameProp);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
private void btDebug_Click(object sender, EventArgs e)
|
||||
{
|
||||
Console.WriteLine("break");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user