Advertisement
Guest User

Malwarebytes progressbar

a guest
Jun 7th, 2015
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 6.41 KB | None | 0 0
  1. ' Made by AeroRev9 for HackForums.
  2.  
  3. Imports System.Drawing.Drawing2D
  4.  
  5. Module Helpers
  6.  
  7.     Public Enum ProgressType As Byte
  8.         Min = 0
  9.         Progressing = 1
  10.         Max = 2
  11.     End Enum
  12.  
  13.     Public Function CodeToImage(ByVal Code As String) As Image
  14.         Return Image.FromStream(New System.IO.MemoryStream(Convert.FromBase64String(Code)))
  15.     End Function
  16.  
  17.     Public Function GetBase64StringIcon(prog As ProgressType) As String
  18.  
  19.         If prog = ProgressType.Min Then
  20.             Return "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC6UlEQVRYhc3XMYhcVRQG4G8fi4Qt
  21. QrCw2iJVsNxiiAbLrFtYBES49XaSTrPFZguLaLFJsatdSGd9QQSRhWw2lYjJMoQtxUK2WCwsJKQI
  22. IjJY3PNmxsmbmTtCWH8YuPe8c89/5tz7zv3fkkrknC9gHdexhsu4GI9f4BQneIyjlNKfNXGXKohX
  23. sYVNXKrM9zm+xl5K6ew/JZBzXsZt7GBl7NFL9PEL/gjbm7iCXofvLu6mlP6uTiD+9Te4GqYBDvAA
  24. hymlv6asewMb+BgfoIlHx/ioqxqvJJBzfhuPsBqmPm6mlPpdpNOQc+7hvlIVOMP7KaWfx/2aiUWr
  25. E+T7uLYoOcSaaxFDxHwUHEMMKxB7/qNR2bdSSvumIOf8Lr6I6WcppSczfG9hL6bHeK89E+MVuD1G
  26. vj+H/C08VF7LdTwMWyciVhvvanAZJhBl2QlbH9vTggVuGPUAMb4xZ812xIaddivaCmwpr89AOXCd
  27. r8wEYY1tiIh5MzhWglMTHW4z/A4qD1xXl5vb+SL2QUw3c84XGmUP2w73oIKcUQOaZ+tCy3EJ643S
  28. 2yld67AyyO+Vti4cBhdcb5SLBfrTOlwHfqu0vYLgaLd5rVFuNUpvr8WpcphaDMJWi5brcmN0emv3
  29. UFy144SntdfvBNfFZqbbbJxMGS+ERhETlCt1EfwwZVyDlutFY1TKKwsG+U7Z+0GMF0HLddoYla8X
  30. 93kVUkq/4g7uxLgKwdFe0SfLiob7RGmPG/h+gSQ+r/Udw4aRanrc4EjRcBQl87rRcjzH0RLknL9U
  31. qjDAOzX3Qc55Bd/G9MOU0stZ/rGmh6fK4f8qpfRp+xruKe2xwf0QJ/OwppRzw6ibziJfViRaE1x7
  32. YiLE4m749nCvIoHJTjgP94wO324rUMcb0V1FLsGtkFGz8Aw5fs9mOUasNt5xcGFCFYdK+cm/Rel2
  33. hUCZRrys/POW/EwRuUN5fu6y/P/3YTIW7Pw+zSYSOZ+P045EXsvn+T/nYyK/KE7IRwAAAABJRU5E
  34. rkJggg=="
  35.         ElseIf prog = ProgressType.Progressing
  36.             Return "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADLklEQVRYhbXXX2gdRRgF8F8uFwnS
  37. h5ItUXwQkT5YkFJs0bL+K5SoSCnkQYUFRUUsiFJ8EvGhD7UUK6WCIBTqgwrrH0QQxBZstIIuWFSC
  38. FAkFawghiHRLCSWESwg+zK5s996bbMK952mZmf3OmW9mznwzoiGSLGrjIUzgPtyNrWhhEbOYxg84
  39. n8b5cpO4Iw2It+E1vIQ7Guq9jo/xbhrn85sSkGRRC6/gqDDTzWAZJ3AsjfNOYwFJFm3Fp3hik8R1
  40. /I7JNM7n1hWQZNE4pnDvgMhLzGMijfOZvgKKmf+InQMmL7GAB9M4ny0bWhXyFj4ZIjlhE3+dZNFo
  41. 2dCudL6MAw0DreIS/sA1bCmC78G2df7diSN4k2IJitT/hbF1fp7HKaRpnP9T7yyy+AgO46BKhmvo
  42. YEca51fKDLzag/xXYUblD8dwYi2DSeN8FRdwIcmiffgId/YYegvewKGRQvXfPQbuwDuFiMk0zi/2
  43. I+6H4kSdFZyzjiXc1ioIeqns4Cns3gw5pHH+Lx4XbLqOW3GgjX1rBOiga61LJFl0jzCBUaxgBheL
  44. pShjXE2y6FnheNf3xP42djeYTJ34fmEzxj26Z5MsOo4zpZA0zn9KsuhLPF0bu6uFuzZI/hx+7kOu
  45. iHcaZ5Ms2lJpf7/X2JaNXzSTbvaPfngMnxebHDLBM6po9zuna+EZfNNw7JOKtBfL8Wd9QFsoJnrh
  46. VJJFN/r0LQtu2GQCh/BZ8V3n6rSFI7JHNw42CN4Ee5MsaqdxviKclirmWvhtQET9MCrcFbC91jfd
  47. wvdDFrCCpSSLtus2vKmW4PmzQxRwuTC0F2rtS/i2VezO00MUcC7JojGhvqziizTOF8td/AGuDoF8
  48. FR/ipJv9poPjFMcojfNFvDUEAV9hL56vtb+Xxvnl/wUUOINzAyS/gV90L+8loSJCd1E6Jtxag6iI
  49. p4s4VdtewMNpnF/pKaAQcTu+G5CIKhawv16Wd1lpUes9ivMDJJ8WyvGZekdPL0/j/JpQyRzW/65o
  50. gmW8jQeqb4EqmjxOx/E6XsR4Q+LycXqy13NsQwIqQtpCyT2BXcLzfEzI4nXMCamesoHn+X9QwPJf
  51. /5GEeQAAAABJRU5ErkJggg=="
  52.         Else
  53.             Return "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC5ElEQVRYhbXXTYgcRRjG8d80yxJC
  54. kJCWsIJgCB70IkEDYkdCcJWIJ0E82DEEQTSKiDGnCB4kfoEYEBUxF9FDiV4UDx78FrS8LDKoiEgM
  55. S/QQAg2yhGVZluChunEy6Z3pncw+l6G6uuf/9Ftdb71vT0eVMZ/F3bgHt2I3tmEVyziPBXyNL0JR
  56. LXf5314H8E4cx6PY0dHvEj7Aa6Gozk1koIz5DJ7B87imI3hYKziFk6GoVjobKGM+h4+wf0LwsPp4
  57. IBTV2bEGypjvxpfSGk9TF3AwFFV/XQP1ev+0CfBBE3cMRiIbgGf4cBPhsBOflDHfcoUBPIW7NhHe
  58. 6Ba80Ax6UMZ8B/7C9ilBLuJPKV+0aRU3h6I620Tg2BThcAi34bCUE4Y1ixPQq/f735ibEvx0KKrH
  59. m0EZ8+fwUst9y7guw51ThJ+RsmYD3yJFoU1bcV+G+SnBL+GRUFQXB66dxE0jnpnPsHdKBk6Fovqh
  60. GZQxL6RUPkp7Mlw/Bfjv0pnRwLfifcyMeW5XJq3F1WgNR4YOm1dwY4dnZzJp7cbpM9yAT1vmXg5F
  61. tdAMypgfkJJaJ2XSkTlK30gn2Tk8iI8H5n6WPrQGvg3vuTzDjtJahn/G3PRHKKo1qH8PIdTGjzRz
  62. tV7Hro5wWMykMmqUjpYxf7IZ1MDD0tH6W3O9jPm9UtW0EfV7Zcz34/sxN17CE6GoTrdNljHfjl9t
  63. fEc9lCFKBeUoZXinjPlj68y/OQF8GZ9ndUhb32wdE0cHL5Yxvx8PbxAOIRTVUvO1voF/O5p4u4z5
  64. szV8Du9OAF+VcsX/JVkZ86drI121IIV9koPs1VBUJ7h8v74l7fmu2jshvG+4ImpUF6U/6pZGJ9F5
  65. 7GstSiEU1QWp9TqzSfCDw73BFSkzFNUi9uG7KcL70pv/MjzRmrPrSMxL1U1bTddVK3gRt7d1RXRv
  66. To9JafbajuCrb05bjMzigPSN7JEamKaSXsKiFOpv8VXX9vw/9LbblYIHwywAAAAASUVORK5CYII="
  67.         End If
  68.  
  69.     End Function
  70.  
  71. End Module
  72.  
  73. Public Class Progress
  74.     Inherits Control
  75.  
  76.     Private _Val As Integer = 0
  77.     Private _Min As Integer = 0
  78.     Private _Max As Integer = 100
  79.  
  80.     Public Property HideLoading As Boolean = False
  81.  
  82.     Public Property Value As Integer
  83.         Get
  84.             Return _Val
  85.         End Get
  86.         Set(value As Integer)
  87.             _Val = value
  88.             Invalidate()
  89.         End Set
  90.     End Property
  91.  
  92.     Public Property Minimum As Integer
  93.         Get
  94.             Return _Min
  95.         End Get
  96.         Set(value As Integer)
  97.             _Min = value
  98.             Invalidate()
  99.         End Set
  100.     End Property
  101.  
  102.     Public Property Maximum As Integer
  103.         Get
  104.             Return _Max
  105.         End Get
  106.         Set(value As Integer)
  107.             _Max = value
  108.             Invalidate()
  109.         End Set
  110.     End Property
  111.  
  112.  
  113.     Sub New()
  114.         DoubleBuffered = True
  115.     End Sub
  116.  
  117.     Protected Overrides Sub OnPaint(e As PaintEventArgs)
  118.  
  119.         Dim G As Graphics = e.Graphics
  120.         G.SmoothingMode = SmoothingMode.HighQuality
  121.  
  122.         MyBase.OnPaint(e)
  123.  
  124.         G.Clear(Parent.BackColor)
  125.  
  126.         If Not HideLoading Then
  127.             G.FillRectangle(New SolidBrush(Color.FromArgb(180, 180, 180)), New Rectangle(31, 13, Width - 1, 3))
  128.         End If
  129.  
  130.         If Value = Minimum Then
  131.             G.DrawImage(CodeToImage(GetBase64StringIcon(ProgressType.Min)), New Point(0, 0))
  132.  
  133.             If Not HideLoading Then
  134.                 G.FillRectangle(New SolidBrush(Color.FromArgb(180, 180, 180)), New Rectangle(31, 13, CInt(Value / Maximum * Width - 32), 3))
  135.             End If
  136.  
  137.         ElseIf Not Value = Maximum And Not Value = Minimum
  138.             G.DrawImage(CodeToImage(GetBase64StringIcon(ProgressType.Progressing)), New Point(0, 0))
  139.  
  140.             If Not HideLoading Then
  141.                 G.FillRectangle(New SolidBrush(Color.FromArgb(90, 198, 19)), New Rectangle(31, 13, CInt(Value / Maximum * Width - 32), 3))
  142.             End If
  143.  
  144.         ElseIf Value >= Maximum
  145.             G.DrawImage(CodeToImage(GetBase64StringIcon(ProgressType.Max)), New Point(0, 0))
  146.  
  147.             If Not HideLoading Then
  148.                 G.FillRectangle(New SolidBrush(Color.FromArgb(90, 198, 19)), New Rectangle(31, 13, CInt(Value / Maximum * Width - 32), 3))
  149.             End If
  150.  
  151.         End If
  152.  
  153.     End Sub
  154.  
  155.     Protected Overrides Sub OnResize(e As EventArgs)
  156.         MyBase.OnResize(e)
  157.         Size = New Point(Width, 32)
  158.     End Sub
  159.  
  160. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement