AppManager.vb
上传用户:szledliu
上传日期:2021-01-29
资源大小:13805k
文件大小:6k
源码类别:

C#编程

开发平台:

C#

  1. Imports System.IO
  2. Imports System.Net
  3. Public Class AppManager
  4.     Public Shared StartURL As String = "http://www.wewill.cn"
  5.     Private Shared _CurrentBrowser As exBrowser
  6.     Public Shared Property CurrentBrowser() As exBrowser
  7.         Get
  8.             Return _CurrentBrowser
  9.         End Get
  10.         Set(ByVal value As exBrowser)
  11.             _CurrentBrowser = value
  12.         End Set
  13.     End Property
  14.     Private Shared _MainForm As frmMain
  15.     Public Shared Property MainForm() As frmMain
  16.         Get
  17.             Return _MainForm
  18.         End Get
  19.         Set(ByVal value As frmMain)
  20.             _MainForm = value
  21.         End Set
  22.     End Property
  23.     Public Shared ReadOnly Property ConnString() As String
  24.         Get
  25.             Return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
  26.             Application.StartupPath & "dataieclone.mdb;User Id=admin;Password=;"
  27.         End Get
  28.     End Property
  29. #Region " Helper Routines "
  30.     Public Shared Sub AddTab(ByVal ofrm As Form, Optional ByVal URL As String = "")
  31.         _MainForm.tc1.TabPages.Add(ofrm)
  32.         If URL = "" Then
  33.             _CurrentBrowser.GoHome()
  34.         Else
  35.             Navigate(URL)
  36.         End If
  37.     End Sub
  38.     Public Shared Sub AddTab(ByVal oTab As Ie7Clone.TabPage, Optional ByVal URL As String = "")
  39.         _MainForm.tc1.TabPages.Add(oTab.Form)
  40.         If URL = "" Then
  41.             _CurrentBrowser.GoHome()
  42.         Else
  43.             Navigate(URL)
  44.         End If
  45.     End Sub
  46.     Public Shared Sub Navigate(ByVal URL As String)
  47.         _CurrentBrowser.Navigate(URL)
  48.     End Sub
  49.     Public Shared Function FixURL(ByVal sURL As String) As String
  50.         If Not sURL.ToLower().StartsWith("http://") _
  51.         Then sURL = "http://" & sURL
  52.         Return sURL
  53.     End Function
  54. #End Region
  55.     Public Shared Function GetWebImage(ByVal ImageURL As String) As Image
  56.         Dim objImage As MemoryStream
  57.         Dim objwebClient As WebClient
  58.         Dim sURL As String = Trim(ImageURL)
  59.         Dim oImage As Image
  60.         Try
  61.             If Not sURL.ToLower().StartsWith("http://") _
  62.             Then sURL = "http://" & sURL
  63.             objwebClient = New WebClient
  64.             objImage = New _
  65.             MemoryStream(objwebClient.DownloadData(sURL))
  66.             oImage = System.Drawing.Image.FromStream(objImage)
  67.             Return oImage
  68.         Catch ex As Exception
  69.             'Return something, an error or no image as default
  70.             Return Nothing
  71.         End Try
  72.     End Function
  73.     Public Shared Function GetFavIcon(ByVal IconURL As String) As Icon
  74.         'Here we could implement some "caching" of our own by
  75.         'saving the image, then later we could just grab the existing image.
  76.         'For the purposes of this example, we'll just grab one if it's there
  77.         'every time.
  78.         Dim oIcon As Icon
  79.         Dim objIcon As MemoryStream
  80.         Dim objwebClient As WebClient
  81.         Dim sURL As String = Trim(IconURL)
  82.         Try
  83.             If Not sURL.ToLower().StartsWith("http://") _
  84.             Then sURL = "http://" & sURL
  85.             objwebClient = New WebClient
  86.             objIcon = New MemoryStream(objwebClient.DownloadData(sURL))
  87.             oIcon = New Icon(objIcon)
  88.             If IsNothing(oIcon) Then
  89.                 Return My.Resources.Globe
  90.             Else
  91.                 Return oIcon
  92.             End If
  93.         Catch ex As Exception
  94.             'Return the generic globe icon
  95.             Return My.Resources.Globe
  96.         End Try
  97.     End Function
  98.     Public Shared Function LoadWebImageToPictureBox(ByVal pb _
  99.         As PictureBox, ByVal ImageURL As String) As Boolean
  100.         Dim objImage As MemoryStream
  101.         Dim objwebClient As WebClient
  102.         Dim sURL As String = Trim(ImageURL)
  103.         Dim bAns As Boolean
  104.         Try
  105.             If Not sURL.ToLower().StartsWith("http://") _
  106.             Then sURL = "http://" & sURL
  107.             objwebClient = New WebClient
  108.             objImage = New _
  109.             MemoryStream(objwebClient.DownloadData(sURL))
  110.             pb.Image = System.Drawing.Image.FromStream(objImage)
  111.             bAns = True
  112.         Catch ex As Exception
  113.             bAns = False
  114.         End Try
  115.         Return bAns
  116.     End Function
  117.     Public Shared Function IsValidUrl(ByVal url As String) As Boolean
  118.         Return System.Text.RegularExpressions.Regex.IsMatch(url, _
  119.             "(http|ftp|https)://([w-]+.)+(/[w- ./?%&=]*)?")
  120.     End Function
  121.     Public Shared Function IsValidIP(ByVal ipAddress As String) As Boolean
  122.         Return System.Text.RegularExpressions.Regex.IsMatch(ipAddress, _
  123.             "^(25[0-5]|2[0-4]d|[0-1]?d?d)(.(25[0-5]|2[0-4]d|[0-1]?d?d)){3}$")
  124.     End Function
  125.     Public Shared Function IsValidEmail(ByVal email As String) As Boolean
  126.         Return System.Text.RegularExpressions.Regex.IsMatch(email, _
  127.             "^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$")
  128.     End Function
  129.     Public Shared Sub ShellandWait(ByVal ProcessPath As String)
  130.         Dim objProcess As System.Diagnostics.Process
  131.         Try
  132.             objProcess = New System.Diagnostics.Process()
  133.             objProcess.StartInfo.FileName = ProcessPath
  134.             objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
  135.             objProcess.Start()
  136.             'Wait until the process passes back an exit code 
  137.             objProcess.WaitForExit()
  138.             'Free resources associated with this process
  139.             objProcess.Close()
  140.         Catch
  141.             MessageBox.Show("Could not start process " & ProcessPath, "Error")
  142.         End Try
  143.     End Sub
  144.     Public Shared Sub DetectFeeds()
  145.         On Error Resume Next
  146.         Dim li As ListItem
  147.         Dim oEl As HtmlElement
  148.         For Each oEl In CurrentBrowser.Document.All
  149.             If oEl.GetAttribute("Type") = "application/rss+xml" Then
  150.                 MainForm.mnuFeeds.Enabled = True
  151.                 Exit Sub
  152.             End If
  153.         Next
  154.         MainForm.mnuFeeds.Enabled = False
  155.     End Sub
  156. End Class