here's a quick example i knocked up
VB Code:
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Const[/COLOR] WM_USER [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Long[/COLOR] = &H400
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Const[/COLOR] CCM_FIRST [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR] = [COLOR=BLUE]CInt[/COLOR](&H2000)
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Const[/COLOR] CCM_SETBKCOLOR [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR] = (CCM_FIRST + 1)
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Const[/COLOR] PBM_SETBARCOLOR [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Long[/COLOR] = (WM_USER + 9)
[COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Declare[/COLOR] [COLOR=BLUE]Function[/COLOR] SendMessage [COLOR=BLUE]Lib[/COLOR] "user32.dll" [COLOR=BLUE]Alias[/COLOR] "SendMessageA" ([COLOR=BLUE]ByVal[/COLOR] hwnd [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR], [COLOR=BLUE]ByVal[/COLOR] wMsg [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR], [COLOR=BLUE]ByVal[/COLOR] wParam [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR], [COLOR=BLUE]ByVal[/COLOR] lParam [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR]) [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer
[/COLOR] [COLOR=BLUE]Private[/COLOR] [COLOR=BLUE]Sub[/COLOR] Button1_Click([COLOR=BLUE]ByVal[/COLOR] sender [COLOR=BLUE]As[/COLOR] System.Object, [COLOR=BLUE]ByVal[/COLOR] e [COLOR=BLUE]As[/COLOR] System.EventArgs) [COLOR=BLUE]Handles[/COLOR] Button1.Click
[COLOR=BLUE]Dim[/COLOR] c [COLOR=BLUE]As[/COLOR] ColorTranslator
[COLOR=BLUE]Dim[/COLOR] x [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer
[/COLOR] SendMessage(ProgressBar1.Handle.ToInt32, CCM_SETBKCOLOR, 0, c.ToWin32(Color.Red))
SendMessage(ProgressBar1.Handle.ToInt32, PBM_SETBARCOLOR, 0, c.ToWin32(Color.Blue))
[COLOR=BLUE]With[/COLOR] ProgressBar1
.Minimum = 1
.Maximum = 100
.Step = 1
[COLOR=BLUE]For[/COLOR] x = .Minimum [COLOR=BLUE]To[/COLOR] .Maximum
.PerformStep()
Threading.Thread.Sleep(10)
Application.DoEvents()
[COLOR=BLUE]Next
[/COLOR] [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With
[/COLOR] [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]