VB.Net Notları
Zaman zaman kullandığım ve her ihtiyacım olduğu zaman internetten tekrar araştırmak zorunda kaldığım kod vb. notlardır.
Sleep(Uyu) ile programı uyutmak.
Formun içine içine
Private Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)
Bekletmek istediğimiz noktada Sleep(ms) yazıyoruz. ms milisaniye anlamına gelmektedir. 1 saniye bekletmek istiyorsak sleep(1000) olarak yazıyoruz.
Mouse tıklamaları
Mouse ile tıklama işlemlerini gerçekleştiren olaydır.
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer) Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 Private Const MOUSEEVENTF_MIDDLEUP = &H40 Private Const MOUSEEVENTF_RIGHTDOWN = &H8 Private Const MOUSEEVENTF_RIGHTUP = &H10 Private Sub tikla(ByVal xt As Integer, ByVal yt As Integer) mouse_event(MOUSEEVENTF_LEFTDOWN, xt, yt, 0, 1) mouse_event(MOUSEEVENTF_LEFTUP, xt, yt, 0, 1) End Sub
Ancak yukarıdaki sub’ı çalıştırmak için öncelikle aşağıdaki kod ile mouse koordinatını set etmek zorunda kaldım. Yukarıda koordinat neden çalışmadı bir türlü anlamadım. Form kısmına Declare Function SetCursorPos& Lib “user32” (ByVal p As Point) yukarıdaki olaydan önce SetCursorPos(New Point(x,y)) yazarak çözmüş oldum.
bayramdede
MSDos komutları
Shell(komut) ile yazılır. Örnek: Shell(“Net Send ” & IP.Text & ” ” & MESAJ.Text).
bayramdede
Biip sesi çıkarmak
_
Public Shared Sub Beep(ByVal freq As Integer, ByVal dur As Integer)
End Sub
For i = 1 To 10
Beep(300 + i * 25, 113)
Next
bayramdede
Ses Dosyası Çalmak
If System.IO.File.Exists(“warn.wav”) Then
Label7.Text = “Ses çalınıyor.”
Dim Sound As New System.Media.SoundPlayer()
Sound.SoundLocation = “warn.wav”
Sound.Load()
Sound.Play()
Label7.Text = “Ses dosyası çalındı.”
Else : Label7.Text = “warn.wav dosyası bulunamadı.”
bayramdede
Fare Koordinatları: MousePosition.ToString()
bayramdede
Resimdeki renklerin tespiti
Public Function ImageAnalyzer(ByVal dosya As String, ByVal startx As Integer, ByVal starty As Integer, ByVal y2 As Integer, ByVal steps As Integer) As Boolean
Dim myBitmap As New Bitmap(dosya)
Dim teks As String = “”
For i = startx To x2 Step steps ‘X yönü
For j = starty To y2 Step steps ‘Y yönü
On Error Resume Next
Dim pC As Color = myBitmap.GetPixel(i, j)
If pC.R = 255 And pC.G = 0 And pC.B = 0 Then
teks = teks & vbNewLine & _
“x=” & i & “, y=” & j & ” noktasında kırmızı tespit edildi.” & vbNewLine & “A:” & pC.A & ” r:” & pC.R & ” G:” & pC.G & ” B:” & pC.B
End If
Next j
Next i
myBitmap.Dispose()
If teks <> “” Then Return 1
End Function
bayramdede
Ekran Çözünürlüğünü Almak
Public Function ScreenResolution() As String
Label7.Text = “Ekran çözünürlüğü alınıyor”
Dim intX As Integer = Screen.PrimaryScreen.Bounds.Width
Dim intY As Integer = Screen.PrimaryScreen.Bounds.Height
Label7.Text = “Ekran çözünürlüğü alındı.”
Return intX & “x” & intY
End Function
bayramdede
Metin Dosyasını Okumak
Imports System.IO
form
Sub kaynakhedefbul()
On Error Resume Next
Dim FILE_NAME As String = “Kopyalanacak.txt” ‘Türkçe karakterler için unicode olarak kaydedilmelidir.
Dim ss As Integer
ss = 1
If System.IO.File.Exists(FILE_NAME) = True Then
Dim objReader As New System.IO.StreamReader(FILE_NAME)
Do While objReader.Peek() <> -1
ss = ss + 1
If ss = 1 Then kaynak = objReader.ReadLine()
If ss = 2 Then hedef = objReader.ReadLine()
If ss = 3 Then pw = objReader.ReadLine()
If ss = 4 Then kaynak2 = objReader.ReadLine()
If ss = 5 Then hedef2 = objReader.ReadLine()
If ss = 6 Then hata = objReader.ReadLine()
Loop
MsgBox(hata)
objReader.Dispose()
Else
MsgBox(“Dosya bulunamadı”)
End If
End Sub
end form
bayramdede
Dosya Kopyalamak
Imports System.IO
If System.IO.File.Exists(kaynak) = True Then
System.IO.File.Copy(kaynak, hedef, True)
Else : NotifyIcon1.ShowBalloonTip(1, “Hata”, “Kaynak: ” & kaynak & vbNewLine & “Kaynak dosya bulunamadı!”, ToolTipIcon.Error)
End If
bayramdede
Dosyaya Yazmak
Sub dosyayaz()
If Microsoft.VisualBasic.Len(hatayazi) > 50 Then
kaydet(“hata.txt”, hatayazi)
hatayazi = “”
End If
End Sub
Public Function kaydet(ByVal dosya As String, ByVal yazi As String)
Dim sw As New System.IO.StreamWriter(dosya, True, System.Text.Encoding.Unicode)
sw.Write(yazi)
sw.Close()
Return 0
End Function