請問怎麼用Java啟動世紀帝國的遊戲?因為我的方法有時候會顯示錯誤訊息。
我的做法是這樣的:
測試過如果用bat檔這樣寫可以成功開啟遊戲:
cd "C:\Program Files\Age of Empires II\Age of Empires II\age2_x1"
start AGE2_X1.EXE
因為不知道Java呼叫exec時要怎麼執行「cd xxx」的命令,所以把命令改成
「cmd /c "cd 路徑&&start AGE2_X1.EXE"」。
所以我的程式方法如下,也就是程式按下「開啟遊戲」的JButton後,就會呼叫下面的方
法↓
//開啟遊戲
public void startGame(){
try{
String cmd ="cmd /c \"cd C:\\Program Files\\Microsoft Games\\Age of
Empires II\\Age of Empires II\\age2_x1&&start AGE2_X1.EXE\"";
Runtime.getRuntime().exec(cmd);
}catch(Exception e){textarea.append("\n開始遊戲時發生錯誤!\n"+e);}
}
每次遊戲都可以成功執行,但有時候會出現錯誤訊息,有時候不會,為什麼會這樣呢?
下面是顯示的錯誤訊息(第一個#字也是錯誤訊息的一部分):
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d0c6fab, pid=912, tid=3904
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode, sharing)
# Problematic frame:
# C [awt.dll+0x16fab]
#
# An error report file with more information is saved as hs_err_pid912.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
請問有人知道這是什麼意思嗎?為什麼會發生錯誤啊?
還是有人知道比較正確和安全執行遊戲的方法應該怎麼寫(或修正)嗎@@?
謝謝大家=v=
--
※ 發信站: 批批踢實業坊(ppt.cc)
◆ From: 361.24.253.7
※ 編輯: jinn 來自: 163.24.253.7 (03/24 18:20)
→
03/24 18:26, , 1F
03/24 18:26, 1F
→
03/24 19:01, , 2F
03/24 19:01, 2F
→
03/24 19:03, , 3F
03/24 19:03, 3F
→
03/24 19:16, , 4F
03/24 19:16, 4F
→
03/24 21:38, , 5F
03/24 21:38, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):