一个简单需求:用C++调用Jar包。

实现基本思路:调用CreateProcess API来启动cmd.exe执行jar包。


调用类CJarAppCall。

JarAppCall.h

#pragma once

class CJarAppCall
{
public:
    CJarAppCall(void);
    ~CJarAppCall(void);

    /*
    @brief 运行Jar包调用,等待运行完毕返回
    @param[in] strJarDir jar包文件夹
    @param[in] strJarName jar包名称
    @return 运行是否成功
    */
    bool Run(const CString& strJarDir, const CString& strJarName);

private:
    bool CallApp(const CString& strJarName);
};

JarAppCall.cpp


调用演示样例

{
    CString strJarDir = _T("F:\\JarRunTest");
    CString strJarName = _T("run.jar");

    CJarAppCall jarCall;
    if (!jarCall.Run(strJarDir, strJarName))
    {
        //启动失败
        AfxMessageBox(_T("启动失败"));
        return;
    }
    AfxMessageBox(_T("调用完毕"));
}

相关文章: