如何通过单击C ++中的按钮打开.jar?

时间:2013-03-13 18:48:51

标签: c++ windows jar c++-cli minecraft

我想在Windows中单击按钮时打开.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”,但我在Task Menager中看不到任何名为“java”的进程。

如果您知道如何打开,阅读输出并向.jar文件提供输入,如果您回答:How To Open, Read Output and Give Input To a .jar file with C++?,我将不胜感激。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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);