Archive for March 12th, 2008|Daily archive page
VB Net – List MSN Contacts
Public Shared Sub Getcontacts(ByVal ListViewAdd As ListView)
ListViewAdd.View = View.Details
ListViewAdd.FullRowSelect = True
ListViewAdd.GridLines = True
ListViewAdd.Columns.Clear()
ListViewAdd.Items.Clear()
ListViewAdd.Columns.Add(“Friendly Name”, 1, HorizontalAlignment.Left)
ListViewAdd.Columns.Add(“Status”, 1, HorizontalAlignment.Left)
ListViewAdd.Columns.Add(“Email Address”, 1, HorizontalAlignment.Left)
ListViewAdd.Columns.Add(“Something”, 1, HorizontalAlignment.Left)
ListViewAdd.Columns.Item(0).Width = ListViewAdd.Width – 160 – 5
ListViewAdd.Columns.Item(1).Width = 60
Dim oMessenger As MessengerAPI.Messenger
oMessenger = New MessengerAPI.Messenger
Dim msncontact As IMessengerContact
Dim msncontacts As IMessengerContacts
msncontacts = oMessenger.MyContacts
Dim Awaylist As New ListViewGroup
Dim BRBlist As New ListViewGroup
Dim Busylist As New ListViewGroup
Dim Idlelist As New ListViewGroup
Dim Invisilist As New ListViewGroup
Dim Offlist As New ListViewGroup
Dim Phonelist As New ListViewGroup
Dim Lunchlist As New ListViewGroup
Dim Unklist As New ListViewGroup
For Each msncontact In msncontacts
Dim item1 As New ListViewItem(msncontact.FriendlyName)
Dim Status As String = “Offline”
If msncontact.Status = MISTATUS.MISTATUS_AWAY Then
Status = “Away”
ElseIf msncontact.Status = MISTATUS.MISTATUS_BE_RIGHT_BACK Then
Status = “BRB”
ElseIf msncontact.Status = MISTATUS.MISTATUS_BUSY Then
Status = “Busy”
ElseIf msncontact.Status = MISTATUS.MISTATUS_IDLE Then
Status = “Idle”
ElseIf msncontact.Status = MISTATUS.MISTATUS_INVISIBLE Then
Status = “Invisible”
ElseIf msncontact.Status = MISTATUS.MISTATUS_OFFLINE Then
Status = “Offline”
ElseIf msncontact.Status = MISTATUS.MISTATUS_ON_THE_PHONE Then
Status = “On Phone”
ElseIf msncontact.Status = MISTATUS.MISTATUS_ONLINE Then
Status = “Online”
ElseIf msncontact.Status = MISTATUS.MISTATUS_OUT_TO_LUNCH Then
Status = “Lunch”
ElseIf msncontact.Status = MISTATUS.MISTATUS_UNKNOWN Then
Status = “Unknown”
End If
item1.SubItems.Add(Status)
item1.SubItems.Add(msncontact.SigninName)
If Status = “Away” Then
Awaylist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Red
ElseIf Status = “BRB” Then
BRBlist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.LightGray
ElseIf Status = “Busy” Then
Busylist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Orange
ElseIf Status = “Idle” Then
Idlelist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Red
ElseIf Status = “Invisible” Then
Invisilist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Peru
ElseIf Status = “Offline” Then
Offlist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Peru
ElseIf Status = “On Phone” Then
Phonelist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Blue
item1.SubItems(0).ForeColor = Color.Pink
ElseIf Status = “Online” Then
ListViewAdd.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Black
item1.SubItems(0).ForeColor = Color.Orange
ElseIf Status = “Lunch” Then
item1.SubItems(0).BackColor = Color.Blue
item1.SubItems(0).ForeColor = Color.Pink
Lunchlist.Items.Add(item1)
ElseIf Status = “Unknown” Then
Unklist.Items.Add(item1)
item1.SubItems(0).BackColor = Color.Black
item1.SubItems(0).ForeColor = Color.Red
End If
Next
ListViewAdd.Items.AddRange(BRBlist.Items)
ListViewAdd.Items.AddRange(Busylist.Items)
ListViewAdd.Items.AddRange(Awaylist.Items)
ListViewAdd.Items.AddRange(Idlelist.Items)
ListViewAdd.Items.AddRange(Phonelist.Items)
ListViewAdd.Items.AddRange(Lunchlist.Items)
ListViewAdd.Items.AddRange(Invisilist.Items)
ListViewAdd.Items.AddRange(Unklist.Items)
ListViewAdd.Items.AddRange(Offlist.Items)
ListViewAdd.Columns.Item(2).AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent)
End Sub
Usage:
Getcontacts(ListView1)
ListView1.Columns(0).Width = ListView1.Width – ListView1.Columns(1).Width – ListView1.Columns(2).Width – 19
ListView1.Height = Me.Height – GroupBox2.Height – 50
VB Net – Change MSN Display Picture
Imports MessengerAPI
Public Shared Sub SetDisplayPic(ByVal path As String)
Const MCONTACTPROP_USERTILE_PATH As Long = 2
Dim oMessenger As MessengerAPI.Messenger
oMessenger = New MessengerAPI.Messenger
oMessenger.MyProperty(MCONTACTPROP_USERTILE_PATH) = path
End Sub
Usage:
Dim fbo As New OpenFileDialog
fbo.Filter = “All Images (*.bmp;*.gif;*.jpg;*.jpeg;*.png)|*.bmp;*.gif;*.jpg;*.jpeg;*.png”
fbo.ShowDialog()
Try
Functions.SetDisplayPic(fbo.FileName)
MessageBox.Show(“Done”, “Change Display Picture”, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Catch ex As Exception
End Try
Edit: updated the file dialog with image filter
Vb Net – Get Dragon Fable Game SWF File
Private Function DFSWFFile() As String
Dim source As String
Dim path As String = Application.StartupPath & “/htmlsource.txt”
My.Computer.Network.DownloadFile(“http://dragonfable.battleon.com/game/”, path)
source = My.Computer.FileSystem.ReadAllText(path)
My.Computer.FileSystem.DeleteFile(path, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.DeletePermanently)
Dim startpos As Integer = InStr(source, “FLASHVARS=” & ControlChars.Quote & “strFileName”) + 22
If startpos = 0 Or source = “” Then
Exit Function
End If
source = source.Remove(0, startpos)
Dim endpos As Integer = InStr(source, “bgcolor=” & ControlChars.Quote & “#530000″) – 3
source = source.Remove(endpos, source.Length – endpos)
DFSWFFile = source
End Function
VB Net – Detect Windows Shutdown
Private Const WM_QUERYENDSESSION As Integer = 17
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
MyBase.WndProc(m)
If m.Msg = WM_QUERYENDSESSION Then
Application.Exit()
End If
End Sub
VB Net – Global Hotkey
Private Declare Function RegisterHotKey Lib “user32″ (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Integer
Private Declare Function UnregisterHotKey Lib “user32″ (ByVal hwnd As IntPtr, ByVal id As Integer) As Integer
Private Declare Function GlobalAddAtom Lib “kernel32″ Alias “GlobalAddAtomA” (ByVal lpString As String) As Short
Private Declare Function GlobalDeleteAtom Lib “kernel32″ (ByVal nAtom As Short) As Short
Private Const MOD_ALT As Integer = 1
Private Const MOD_CONTROL As Integer = 2
Private Const MOD_SHIFT As Integer = 4
Private Const MOD_WIN As Integer = 8
Private Const MOD_NONE As Integer = 0
Private Const WM_HOTKEY As Integer = &H312
Dim hotkeyID As Short
Sub RegisterGHK(ByVal hotkey As Keys, ByVal modifiers As Integer)
Try
Dim atomName As String = Process.GetCurrentProcess.Id.ToString(“X8″) & Me.Name
hotkeyID = GlobalAddAtom(atomName)
If hotkeyID = 0 Then
Throw New Exception(“Unable to generate unique hotkey ID. Error code: ” & System.Runtime.InteropServices.Marshal.GetLastWin32Error().ToString)
End If
If RegisterHotKey(Me.Handle, hotkeyID, modifiers, CInt(hotkey)) = 0 Then
Throw New Exception(“Unable to register hotkey. Error code: ” & System.Runtime.InteropServices.Marshal.GetLastWin32Error.ToString)
End If
Catch ex As Exception
UnregisterGHK()
End Try
End Sub
Sub UnregisterGHK()
If Me.hotkeyID <> 0 Then
UnregisterHotKey(Me.Handle, hotkeyID)
GlobalDeleteAtom(hotkeyID)
hotkeyID = 0
End If
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
MyBase.WndProc(m)
If m.Msg = WM_HOTKEY Then
Me.Activate()
MessageBox.Show(“Hotkey has been pressed”)
End If
Leave a Comment
Leave a Comment
Leave a Comment