[問題] 再請教一個呼叫EXE的問題

作者: jpyama (jpyama)   2015-05-21 16:23:44
目前有兩個現成的檔案
第一個是exe檔
另一個是txt檔
當exe檔與txt同在一個資料夾時
此exe就能將txt檔中的文字列印出來
(發票機無法直接列印txt文件,必須透過exe檔才可列印)
原先的狀況是每一張新的發票都要手輸時間、金額、統一編號等資料
剛剛做了一個小程式可以把統編跟金額輸入在介面中,按下按鈕就能寫出新的txt檔
但是執行到呼叫exe的時候,會顯示txt檔不存在
(但是txt明明就存在,且點開txt檔案時,裡面的內容是更新過的)
ProcessStartInfo start = new
ProcessStartInfo(@"C:\Users\Administrator\Desktop\receipt\wp520.exe");
Process.Start(start);
上面是呼叫的語法
是不是因為新增呼叫的關係
使exe檔呼叫時的所在位置並不在實際的資料夾中
所以程式無法找到txt檔並列印它
想請教各位前輩該不新增直接呼叫呢?
作者: O187 (187cm)   2015-05-21 17:24:00
你的exe是不是寫成抓程式路徑,這樣該路徑就變成你將該exe帶起來的程式路徑,所以把你的程式放同目錄下即可
作者: jpyama (jpyama)   2015-05-21 17:42:00
請問O大的意思是我目前的路徑並非呼叫後的路徑嗎?我不太了解C#預設的目錄位置在哪裡...
作者: GoalBased (Artificail Intelligence)   2015-05-21 18:44:00
所以你產生的exe有根txt放在一起嗎 = =?
作者: Litfal (Litfal)   2015-05-22 03:33:00
你應該是用錯wp520的抓路徑方法了...『不』要用Environment.CurrentDirectory 或System.IO.Directory.GetCurrentDirectory() 改用System.AppDomain.CurrentDomain.BaseDirectory
作者: TobyH4cker (Toby (我要當好人))   2015-05-25 15:04:00
是啟動位置的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com