Zuerst müsst ihr die Datei ImagSearch.dll herunterladen (siehe Anhang) und im /bin/debug Ordner eures Projektes ablegen oder auch in "C:\\Windows\System32".
Danach müsst ihr folgenden Code zu eurem Projekt (am Besten in einem Modul) hinzufügen.
Quote:
<DllImport("ImageSearchDLL.dll")> Public Function ImageSearch(ByVal x1 As Integer, ByVal y1 As Integer, ByVal right As Integer, ByVal bottom As Integer, ByVal findImage As String) As String
End Function
Function ImageSearch(ByVal Bild As String, Optional ByVal Mitte As Boolean = True) As Point
Dim Bild2 = Bild
If Not IO.File.Exists(Bild) Then
MessageBox.Show("Die Datei " & Bild2 & "konnte nicht gefunden werden. Das Programm wird beendet.")
End
End If
If Toleranz > 0 Then Bild = "*" & Toleranz & " " & Bild
Dim x As String = ImageSearch(a.WinGetCaretPosX(), a.WinGetCaretPosY(), a.WinGetCaretPosX() + a.WinGetClientSizeWidth(Fenstername), a.WinGetCaretPosY() + a.WinGetClientSizeHeight(Fenstername), Bild)
If x = "0" Then
MessageBox.Show("Das Bild " & Bild2 & " konnte nicht auf dem Bildschirm gefunden werden. Das Programm wird beendet.")
End
Else
Dim y = x.Split("|")
If Mitte = True Then
Return Point.Subtract(New Point(y(1), y(2)), New Size(y(3) \ -2, y(4) \ -2))
Else
Return New Point(y(1), y(2))
End If
End If
End Function
|
Handhabung:
Quote:
|
Dim p as Point = ImageSearch("Bild.png")
|
Falls die Koordinaten der linken oberen Ecke des gefundenen Bildes benötigt werden:
Quote:
|
Dim p as Point = ImageSearch("Bild.png",True)
|
Die Koordinaten können dann z.B. folgendermaßen aufgerufen werden:
Quote:
|
Messagebox.Show(String.Format("X: {0} Y: {1}",p.X,p.Y))
|