PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Need help VB.NET



55F
26.12.2008, 10:46
Also ich habe ein Tool geschrieben was mir Screenshots
macht den Screenshot kann ich dann abspeichern oder auch
auf www.directupload.net uploaden klappt auch alles perfect nur
wenn ich es auf www.directupload.net hochlade wie kann ich
das so machen das er mir den Directlink oder auch Hotlink
genannt in eine TextBox anzeigt?


Hoffe ihr wisst weiter...

Toastbrot
26.12.2008, 10:56
Indem du den Link aus der Web response ausliest? Wie lädst du das Bild denn hoch?

55F
26.12.2008, 10:58
Indem du den Link aus der Web response ausliest?

wie meinste das?


Ya ich mache nen screenshot das wird mir das bild in einer picturebox angezeigt und ich klicke auf bild uploaden

Toastbrot
26.12.2008, 11:02
Wie hast du das realisiert?
Oder besser: Was für Objekte benutzt du für den Upload des Bildes?

edit:// Schreib einfach mal einen kurzen Teil deines Quelltextes

55F
26.12.2008, 11:13
http://img3.imagebanana.com/img/l3evb291/thumb/Unbenannt1.jpg (http://img3.imagebanana.com/view/l3evb291/Unbenannt1.jpg)


so sieht das aus kannst mich ya mal icq adden 156025

Toastbrot
26.12.2008, 11:16
Die Obefläche hilft mir garnicht ^^'

Was ist der Code im Event vom Upload Button?

55F
26.12.2008, 11:28
UPLOAD FUNCTION:

Dim b As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
Dim g As Graphics = Graphics.FromImage(b)
g.CopyFromScreen(0, 0, 0, 0, b.Size)
g.Dispose()
Return b

SCREEN BUTTON:

WebBrowser1.Navigate("www.directupload.net")
CaptureScreen()
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = CaptureScreen()
IO.Directory.CreateDirectory("C:\Screeny")
PictureBox1.Image.Save("C:\Screeny\TEMPimage.jpg")

UPLOAD BUTTON:

ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
ProgressBar1.Value = 0
ProgressBar1.Value += 50
WebBrowser1.Document.GetElementById("bilddatei").Focus()
SendKeys.Send("C:\Screeny\TEMPimage.jpg")
SendKeys.Send("{ENTER}")
ProgressBar1.Value += 50

Toastbrot
26.12.2008, 11:37
Geht doch,

also erstmal ist das recht schlecht gelöst mit Sendkeys, aber egal.
Wenn du den Druck auf Enter simuliert hast, navigiert der Webbrowser zur nächsten Seite.
An den Link kommst du, indem du den Quelltext ausliest und diesen Splittest, so dass du am Ende nur noch den Link übrig hast.

55F
26.12.2008, 11:45
und wie geht dat?

Toastbrot
26.12.2008, 11:51
Guck dir den Quelltext von directupload.net an. Dann suchst du nach einem String, der möglichst nur einmal vorkommt und - zumindest ist der Nähe - von deinem Link ist. Natürlich musst du darauf achten, dass dieser String auf statisch ist und sich nicht jedes mal ändert.

Bei directupload würde sich dieser hier anbieten:


this.style.backgroundColor=''">

Das heißt also, dass du deinen Link folgendermaßen bekommst:


Link = Split(Split(Quelltext,"this.style.backgroundColor=''"">")(1),"<")(0)

Nicht getestet, da ich grad viel um die Ohren hab. Aber so in etwa sollte es aussehen.

edit:/ Upps, Fehler :P

55F
26.12.2008, 12:39
fehler behoben? hehe^^

Toastbrot
26.12.2008, 12:51
Ja, hatte die '' als " gesehen :P

55F
26.12.2008, 13:01
kannste mir denn nu den code so machen das es ind textbox1 angezeigt wird also der hotlink

Toastbrot
26.12.2008, 13:37
Versuchs doch einfach mal selbst :roll:
Ich hab dir doch gesagt, wie du an den Link kommst, den Quelltext bekommst du übrigens mit Webbrowser.Document.Body.OuterHTML
Dann musst du nur noch richtig Splitten und den Link ins TextFeld zu bekommen ist ja wohl das leichteste...

55F
26.12.2008, 21:51
ich packs ned digga

Toastbrot
26.12.2008, 22:16
Ziemlich unsauber, aber schlimmer als dein SendKeys gehts eh nicht:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.directupload.net")
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = screen()
IO.Directory.CreateDirectory("C:\Screeny")
PictureBox1.Image.Save("C:\Screeny\TEMPimage.jpg")
WebBrowser1.Navigate("www.directupload.net")
While Not WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
End While
WebBrowser1.Document.GetElementById("bilddatei").Focus()
SendKeys.Send("C:\Screeny\TEMPimage.jpg")
SendKeys.Send("{ENTER}")
End Sub

Private Function screen()
Dim b As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
Dim g As Graphics = Graphics.FromImage(b)
g.CopyFromScreen(0, 0, 0, 0, b.Size)
g.Dispose()
Return b
End Function


Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEv entArgs) Handles WebBrowser1.DocumentCompleted
Dim quelltext As String = WebBrowser1.Document.Body.InnerHtml
Try
Dim link As String = Split(Split(quelltext, "[URL=")(1), "]")(0)
TextBox2.Text = link
Catch ex As Exception

End Try
End Sub

55F
26.12.2008, 22:50
geil kappt nur das er mir ned den hotlink anzeigt sondern den ersten aber danke
trotzdem wie würdest du es denn machen wenn nicht mit sendkeys?

Toastbrot
26.12.2008, 22:51
Mit einer Web Request Klasse, aber bleib ruhig bei deinem Sendkeys wenn du erst am Anfang bist.

55F
26.12.2008, 23:05
yyo geil danke kannste mir vllt. noch nen tipp geben das auf dem screen die form vom toll ned angezeigt wird also ich habs schon mit me.hide versucht aber das wird zu schnell ausgeblendet und klappt dann ned ich habe mir gedacht das wenn man auf take a screen klick das ich eine msgbox mit press f9 to take a screen kommt und bei ok das teil in den tray verschwindet