none
OpenFileDialog 的問題 RRS feed

  • 問題

  • 各位大大好,小弟遇到一個問題,簡單的說就是有兩個按鈕,A與B。

     

    按A可以執行主程式旁邊的一個副程式,裡頭的CODE大概像這樣:

     

            Dim MyProcess As New System.Diagnostics.Process
            MyProcess.StartInfo.FileName = "副程式.exe"
            MyProcess.Start()

            .....

     

    按B會跳出OpenFileDialog,讓使用者選擇檔案

     

    如果說,先按A再按B,沒問題。

     

    但是,如果先按B再按A,就會出現錯誤(找不到副程式.exe),因為使用OpenFileDialog好像會更改的預設執行目錄。想請問大大,這個預設執行目錄的設定放在哪丫?

    2008年3月25日 上午 09:03

解答

  • 如果是這樣的話,在prcess.start之前先指定工作目錄,記得變更工作目錄的部分之前板上也有討論了,可以搜尋一下

    2008年3月25日 上午 10:06
    版主
  • 感謝各位大大的回覆,小弟可能講的沒有很清楚,其實就是以下的CODE,一般說來都會執行主程式旁邊的副程式,但是如果執行這段CODE之前有用 OpenFileDialog 選檔案,這段CODE就會執行錯誤,因為OpenFileDialog會更改預設執行的目錄。

     

            Dim MyProcess As New System.Diagnostics.Process
            MyProcess.StartInfo.FileName = "副程式.exe"
            MyProcess.Start()

     

     

    不過我已經找到答案了

    My.Computer.FileSystem.CurrentDirectory = 預先保留的PATH

     

    感謝各位大大的回覆

     

     

    2008年3月25日 上午 10:14
  • 從你自己的回覆,大概是問工作路徑的問題。你還可以搜尋 ProcessStartInfo ,是不同的做法:

    http://forums.microsoft.com/MSDN-CHT/Search/Search.aspx?words=ProcessStartInfo&localechoice=31748&SiteID=14&searchscope=forumscope&ForumID=232

     

    2008年3月25日 上午 10:20
    版主

所有回覆