none
C# 介面視窗開啟.exe檔 RRS feed

  • 問題

  • 我有寫一個介面  要開啟用  "C 寫的 .exe檔"  可是都會跳出  

    xxxx指令參考的xxxx記憶體  該記憶體不能為read

    System.Diagnostics.Process.Start();我是用這個。

    2011年5月2日 上午 09:03

解答

  • 直接執行xxx.exe可以成功得到執行結果嗎? [xxxx指令參考的xxxx記憶體  該記憶體不能為read]的錯誤訊息看起來像是xxx.exe本身執行就有問題了

    直接執行xxx.exe 可以

    但用C# 的介面去呼叫就不能了,如果是開啟其他軟體的檔案也可以

    只有用C寫編譯的.exe檔不行(原檔xxx.c 可以),不知道是我寫的C是否有不可告人的秘密?

     謝謝


    請注意

    指定工作路徑

     

    如果你的目標執行檔包含其他元件,你沒有指定工作路徑,可能會導致相關元件找不到,因此一開始問你直接檔案總管執行是否正常,若正常,則指定工作路徑基本上就正常了。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 T.Wu 2011年5月3日 下午 12:44
    2011年5月2日 下午 02:29

所有回覆

  • 如果該檔可以直接透過檔案總管執行,改用這個多型,並指定工作路徑:

    System.Diagnostics.Process.Start(ProcessStartInfo)


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年5月2日 上午 09:06
  •  是這樣用嗎?
          ProcessStartInfo startInfo = new ProcessStartInfo("D:\\C\\xxx.exe");
    	     startInfo.WindowStyle = ProcessWindowStyle.Minimized;
    		 Process.Start(startInfo);
    		startInfo.Arguments = "www.northwindtraders.com"; <-這裡要寫什麼          Process.Start(startInfo);                        
    		謝謝	
    			
    			
    2011年5月2日 上午 09:32
  • 您好

    1. 您的 xxx.exe 需要傳入參數嗎? 您程式碼直接這樣下是否有問題?

    System.Diagnostics.Process.Start(@"D:\C\xxx.exe");

    2. 請將您的 C# 專案編譯成執行檔,然後按滑鼠右鍵,選擇 [以系統管理員身分執行] 測試看看是否能呼叫 xxx.exe


    歡迎參觀我的Blog.NET菜鳥自救會
    2011年5月2日 上午 09:43
    版主
  • 請注意

    指定工作路徑

     


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年5月2日 上午 10:13
  • 您好

    1. 您的 ? 您程式碼直接這樣下是否有問題?

     

    2. 請將您的,然後按滑鼠右鍵,選擇 [以系統管理員身分執行] 測試看看是否能呼叫 xxx.exe


    歡迎參觀我的Blog.NET菜鳥自救會

    1.xxx.exe 需要傳入參數嗎? 不用只是要顯示出 計算結果(程式用C寫的)

    System.Diagnostics.Process.Start(@"D:\C\xxx.exe"); 

         ->  會出現xxxx指令參考的xxxx記憶體  該記憶體不能為read

    2. 看不懂意思,是將 C# 的執行檔,以右鍵選擇 [以系統管理員身分執行] 測試看看嗎?

    會出現 "找不到執行這個應用程式的執行階段版本",用左鍵按可以。

      謝謝,有勞了

    2011年5月2日 上午 10:17
  • 直接執行xxx.exe可以成功得到執行結果嗎? [xxxx指令參考的xxxx記憶體  該記憶體不能為read]的錯誤訊息看起來像是xxx.exe本身執行就有問題了
    2011年5月2日 下午 01:21
  • 直接執行xxx.exe可以成功得到執行結果嗎? [xxxx指令參考的xxxx記憶體  該記憶體不能為read]的錯誤訊息看起來像是xxx.exe本身執行就有問題了

    直接執行xxx.exe 可以

    但用C# 的介面去呼叫就不能了,如果是開啟其他軟體的檔案也可以

    只有用C寫編譯的.exe檔不行(原檔xxx.c 可以),不知道是我寫的C是否有不可告人的秘密?

     謝謝

    2011年5月2日 下午 02:00
  • 直接執行xxx.exe可以成功得到執行結果嗎? [xxxx指令參考的xxxx記憶體  該記憶體不能為read]的錯誤訊息看起來像是xxx.exe本身執行就有問題了

    直接執行xxx.exe 可以

    但用C# 的介面去呼叫就不能了,如果是開啟其他軟體的檔案也可以

    只有用C寫編譯的.exe檔不行(原檔xxx.c 可以),不知道是我寫的C是否有不可告人的秘密?

     謝謝


    請注意

    指定工作路徑

     

    如果你的目標執行檔包含其他元件,你沒有指定工作路徑,可能會導致相關元件找不到,因此一開始問你直接檔案總管執行是否正常,若正常,則指定工作路徑基本上就正常了。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 T.Wu 2011年5月3日 下午 12:44
    2011年5月2日 下午 02:29
  • 我的.exe檔  放在 D:C\下  包含其他元件, 那指定工作路徑是  這樣?

                 ProcessStartInfo startInfo = new ProcessStartInfo("D:\\C\\run.exe");

            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

        Process.Start(startInfo);

        startInfo.Arguments = "D:\\C\\"; 

              Process.Start(startInfo);

    謝謝

    2011年5月3日 上午 08:41
  • 我已經知道哪裡錯了   都是貪圖方便引起的

    我C有用到讀檔

    fopen("xxx.txt","r"); <-原來

     fopen("D:\\C\\xxx.txt","r"); 改成這樣就可以了   路徑的關係

    讓大家浪費時間了,sorry。

    謝謝


    2011年5月3日 下午 12:43
  • ProcessStartInfo.WorkingDirectory 屬性

    http://msdn.microsoft.com/zh-tw/library/system.diagnostics.processstartinfo.workingdirectory(VS.80).aspx

    是這個嗎...



    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年5月3日 下午 12:59