none
VB6 路徑程序問題 RRS feed

  • 問題

  • Hi  各位大大

    我想做文件強制刪除器(用VB6)

    我得思考是 取得檔案路徑程序的PID   然後OpenProcess 在 TerminateProcess 就可以把檔案刪除掉了

    但我在Google 都搜尋不到  取得檔案路徑程序的PID

    請大大能不能提出一些程式碼來參考

    2011年4月28日 下午 12:35

解答

所有回覆

  •  

    如何執行的處理序的清單

     

    http://support.microsoft.com/kb/187913

    http://www.subhashdasyam.com/2011/04/visual-basic-get-file-path-using-pid.html

    Specifying a Root when Browsing for Folder

    http://www.vbforums.com/showthread.php?t=181671

    取得所有pid,再用GetModuleFileNameEx取得檔案路徑,比對是要終止的檔案的話,就傳入pid結束...

    • 已標示為解答 Just Lin 2011年4月28日 下午 02:31
    2011年4月28日 下午 02:00
  • 真是太感謝您了

    但我是用 EnumProcessModules 去做

    取得路徑 在去取ID

      If Process32First(MySnapshot, ProcessInfor) <> 0 Then
         Do While Process32Next(MySnapshot, ProcessInfor) <> 0
          '=================== 取得檔案路徑
          If GetProcPath(ProcessInfor.th32ProcessID) = FilePath Then
          GetRuningFilePID = ProcessInfor.th32ProcessID
          Exit Do
          End If
         Loop
         End If
    
    Public Function GetProcPath(PID As Long) As String
      On Error GoTo over
      Dim tmp As Long, Process As Long, Modules(255) As Long, Path As String * 512
      Process = OpenProcess(&H400 Or &H10, 0, PID)
      If Process = 0 Then GoTo over
      If EnumProcessModules(Process, Modules(0), 256, tmp) <> 0 Then GetProcPath = Replace(Left$(Path, GetModuleFileNameExA(Process, Modules(0), Path, 256)), "\??\", "")
    over:
      Call CloseHandle(Process)
    End Function
    
    2011年4月28日 下午 02:33
  • http://tlcheng.twbbs.org/TLCheng/Basic/vbtlhelp.htm
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年4月29日 下午 12:34