2017-07-30 73 views
0

所以我有一個程序,它獲取圖像離線,然後顯示在PictureBox中的圖像。當用戶單擊PictureBox中的圖像時,程序會將圖像下載到臨時文件中,然後使用默認照片查看器打開圖片。但是,當用戶退出圖片時,我想從我的臨時文件中刪除此圖片,但我遇到了一些問題。當進程退出時刪除文件Visual Basic

因此,這裏是我的時刻代碼:

Public Event Exited As EventHandler 
Public WithEvents p As New Process 

Public Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click 
    My.Computer.Network.DownloadFile(picture, "C:\Windows\Temp" + "\" + uname + ".png") 
    AddHandler p.Exited, AddressOf Me.p_Exited 
    p.StartInfo.FileName = "C:\Windows\Temp" + "\" + uname + ".png" 
    p.EnableRaisingEvents = True 
    p.Start() 
End Sub 


Public Sub p_Exited(ByVal sender As Object, ByVal e As System.EventArgs) Handles p.Exited 
    My.Computer.FileSystem.DeleteFile("C:\Windows\Temp" + "\" + uname + ".png") 
End Sub 

所以我得到的時候開始處理時的問題,所有的代碼的工作,沒有任何錯誤,它只是當我關閉圖片/退出該過程。底部的小貼士並沒有提到這一點。

回答

0

你可以嘗試:

Private Sub RunningOrNot() 

     Dim p() As Process 
     p = Process.GetProcessesByName("nameofyourprocess") 

     If p.Count > 0 Then 
      'running 
     Else 
      'not running 
     End If 

    End Sub 

編輯:.Count沒有在VS2010不允許的。所以,如果你需要,用.Length來代替。