|
2 | 2 | Imports System.Drawing |
3 | 3 | Imports System.IO |
4 | 4 | Imports System.Net |
| 5 | +Imports System.Net.NetworkInformation |
5 | 6 | Imports System.Text.RegularExpressions |
6 | 7 |
|
7 | 8 | Public Class Utils |
@@ -193,6 +194,9 @@ Public Class Utils |
193 | 194 | ElseIf Line.Contains("Microsoft Virtual Disk") Then 'For testing with local VHD |
194 | 195 | DriveID = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)(3).Trim() |
195 | 196 | Exit For |
| 197 | + ElseIf Line.Contains("is not recognized") Then 'Windows 11 removed wmic, prompt for installation before continuing |
| 198 | + DriveID = "WMIC_INSTALL_REQUIRED" |
| 199 | + Exit For |
196 | 200 | End If |
197 | 201 | End If |
198 | 202 | Next |
@@ -229,48 +233,65 @@ Public Class Utils |
229 | 233 | End Function |
230 | 234 |
|
231 | 235 | Public Shared Function GetResizedBitmap(ImageLocation As String, NewWidth As Integer, NewHeight As Integer) As Bitmap |
232 | | - Dim Request As WebRequest = WebRequest.Create(ImageLocation) |
233 | | - Dim Response As WebResponse = Request.GetResponse() |
234 | | - Dim ResponseStream As Stream = Response.GetResponseStream() |
| 236 | + Try |
| 237 | + If NetworkInterface.GetIsNetworkAvailable Then |
| 238 | + Dim Request As WebRequest = WebRequest.Create(ImageLocation) |
| 239 | + Dim Response As WebResponse = Request.GetResponse() |
| 240 | + Dim ResponseStream As Stream = Response.GetResponseStream() |
235 | 241 |
|
236 | | - Dim OriginalBitmap As New Bitmap(ResponseStream) |
237 | | - Dim ResizedBitmap As New Bitmap(OriginalBitmap, New Size(NewWidth, NewHeight)) |
| 242 | + Dim OriginalBitmap As New Bitmap(ResponseStream) |
| 243 | + Dim ResizedBitmap As New Bitmap(OriginalBitmap, New Size(NewWidth, NewHeight)) |
238 | 244 |
|
239 | | - Return ResizedBitmap |
| 245 | + Return ResizedBitmap |
| 246 | + Else |
| 247 | + Return Nothing |
| 248 | + End If |
| 249 | + Catch Ex As Exception |
| 250 | + Return Nothing |
| 251 | + End Try |
240 | 252 | End Function |
241 | 253 |
|
242 | 254 | Public Shared Sub ConvertTo32bppAndDisposeOriginal(ByRef img As Bitmap) |
243 | | - Dim bmp = New Bitmap(img.Width, img.Height, Imaging.PixelFormat.Format32bppArgb) |
| 255 | + Try |
| 256 | + Dim bmp = New Bitmap(img.Width, img.Height, Imaging.PixelFormat.Format32bppArgb) |
244 | 257 |
|
245 | | - Using gr = Graphics.FromImage(bmp) |
246 | | - gr.DrawImage(img, New Rectangle(0, 0, 76, 108)) |
247 | | - End Using |
| 258 | + Using gr = Graphics.FromImage(bmp) |
| 259 | + gr.DrawImage(img, New Rectangle(0, 0, 76, 108)) |
| 260 | + End Using |
248 | 261 |
|
249 | | - img.Dispose() |
250 | | - img = bmp |
| 262 | + img.Dispose() |
| 263 | + img = bmp |
| 264 | + Catch ex As Exception |
| 265 | + img = Nothing |
| 266 | + End Try |
251 | 267 | End Sub |
252 | 268 |
|
253 | 269 | Public Shared Function IsURLValid(Url As String) As Boolean |
254 | 270 | Try |
255 | | - Dim request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest) |
256 | | - Using response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) |
257 | | - If response.StatusCode = HttpStatusCode.OK Then |
258 | | - Return True |
259 | | - ElseIf response.StatusCode = HttpStatusCode.Found Then |
260 | | - Return True |
261 | | - ElseIf response.StatusCode = HttpStatusCode.NotFound Then |
262 | | - Return False |
263 | | - ElseIf response.StatusCode = HttpStatusCode.Unauthorized Then |
264 | | - Return False |
265 | | - ElseIf response.StatusCode = HttpStatusCode.Forbidden Then |
266 | | - Return False |
267 | | - ElseIf response.StatusCode = HttpStatusCode.BadGateway Then |
268 | | - Return False |
269 | | - ElseIf response.StatusCode = HttpStatusCode.BadRequest Then |
270 | | - Return False |
271 | | - End If |
| 271 | + If NetworkInterface.GetIsNetworkAvailable Then |
| 272 | + Dim request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest) |
| 273 | + Using response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) |
| 274 | + If response.StatusCode = HttpStatusCode.OK Then |
| 275 | + Return True |
| 276 | + ElseIf response.StatusCode = HttpStatusCode.Found Then |
| 277 | + Return True |
| 278 | + ElseIf response.StatusCode = HttpStatusCode.NotFound Then |
| 279 | + Return False |
| 280 | + ElseIf response.StatusCode = HttpStatusCode.Unauthorized Then |
| 281 | + Return False |
| 282 | + ElseIf response.StatusCode = HttpStatusCode.Forbidden Then |
| 283 | + Return False |
| 284 | + ElseIf response.StatusCode = HttpStatusCode.BadGateway Then |
| 285 | + Return False |
| 286 | + ElseIf response.StatusCode = HttpStatusCode.BadRequest Then |
| 287 | + Return False |
| 288 | + Else |
| 289 | + Return False |
| 290 | + End If |
| 291 | + End Using |
| 292 | + Else |
272 | 293 | Return False |
273 | | - End Using |
| 294 | + End If |
274 | 295 | Catch Ex As Exception |
275 | 296 | Return False |
276 | 297 | End Try |
|
0 commit comments