2013-03-13 50 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);