2013-03-13 78 views
-1

我想在Windows中單擊按鈕時打開一個.jar文件。我有以下代碼:如何通過點擊C++中的按鈕來打開.jar?

private: System::Void btnStartServer_Click(System::Object^ sender, System::EventArgs^ e) { 
    STARTUPINFO si; 
    PROCESS_INFORMATION pi; 
    int spi=sizeof(pi); 
    int ssi= sizeof(si); 
    ZeroMemory(&si, sizeof(si)); 
    si.cb=sizeof(STARTUPINFO); //sizeof(si); 
    ZeroMemory(&pi, sizeof(pi)); 

    char b = 0; 
    b = CreateProcess("C:\\Program Files\\Java\\jre7\\bin\\java.exe ", "-jar craftbukkit.jar", NULL, NULL, 0, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); 

    btnStartServer->Text = String::Format(L"{0}", b); 
} 

但是,當我按下按鈕,按鈕的文字更改爲「1」,但我沒有看到在任務MENAGER名爲「Java」的任何proccess。

如果您知道如何打開,讀取輸出併爲.jar文件提供輸入,我會很感激您回答了:How To Open, Read Output and Give Input To a .jar file with C++?

任何幫助,將不勝感激。

回答

0

我終於設法修復它!我只需要添加一些東西到第二個參數CreateProcess

b = CreateProcess("C:\\Program Files\\Java\\jre7\\bin\\java.exe ", "java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true", NULL, NULL, 0, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);