Avatar billede none01 Nybegynder
01. april 2007 - 17:51 Der er 1 løsning

Check om netværket er tilgængelig?

Hej eksperter,

Jeg har et program som jeg har lavet, som skal køre i baggrunden hver gang man starter pc'eren op.
Når den starter op, kopier den en fil fra netværks drevet til computeren, og så køre et andet program.
Bagefter går den igang med at holde øje med filen, og hvis filen ændres så kopier den, den over til pc'eren igen og køre et andet program igen.
Mit problem er så at mit program ikke kan hente filen hvis man starter computeren op og så forbinder sig til netværket (som VPN).
Det jeg gerne vil have er at programmet kopier filen hver gang den forbinder sig til netværket, men jeg aner ikke hvordan jeg skal lave det.

Det er koden af mit program:

Imports System
Imports System.IO
Imports System.Diagnostics
Public Class main

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Hide()
        If Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName).Length > 1 Then
            Application.Exit()
        End If
        Dim pingstatus As Boolean = False
        Try
            '' Copy the file from the network path
            File.Copy(PathToFileToWatch & FileToWatch, PathToCopyTo & FileToWatch, True)
            Shell(PathToCopyTo & "Bginfo.exe /timer:0 /I""" & PathToCopyTo & FileToWatch & """", AppWinStyle.Hide, True)
        Catch ex As System.Exception
            '' Error handler
            errortext = _
            "Error number: " & Err.Number & vbNewLine & _
            "Error source: " & ex.StackTrace & vbNewLine & _
            "Error descripton: " & ex.Message & vbNewLine
            EventLog.WriteEntry("BgInfoAgent", errortext, EventLogEntryType.Error)
        End Try
    End Sub

    <Security.Permissions.PermissionSet(Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
  Private Sub Run()

        '' It creates the FileSystemWatcher
        Dim watcher As New FileSystemWatcher()
        watcher.Path = PathToFileToWatch
        ' Here it watches for changes in LastAccess and LastWrite time.
        watcher.NotifyFilter = (NotifyFilters.LastWrite Or NotifyFilters.Size)

        watcher.Filter = FileToWatch

        '' Add event handlers.
        AddHandler watcher.Changed, AddressOf OnChanged

        '' Begin watching.
        watcher.EnableRaisingEvents = True

    End Sub

    Dim TimeFired As DateTime = DateTime.Now
    Private Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)
        If (DateTime.Now.Subtract(TimeFired).TotalMilliseconds < 20000) Then
            Exit Sub
        End If
        TimeFired = DateTime.Now
        '' Wait 5 sec. before copying
        System.Threading.Thread.Sleep(5000)
        'Debug.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + " file import")
        ''Copy the file
        File.Copy(PathToFileToWatch & FileToWatch, PathToCopyTo & FileToWatch, True)
        ''Run the command to update the background on the desktop
        Shell(PathToCopyTo & "Bginfo.exe /timer:0 /I""" & PathToCopyTo & FileToWatch & """", AppWinStyle.Hide, True)
    End Sub
End Class
Avatar billede none01 Nybegynder
04. april 2007 - 08:21 #1
Lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester