从Visual C++代码调用时不触发的机器人事件 我有一个屏幕共享的项目,在2个用户之间,然后远程控制屏幕。我有一个Visual C++代码,通过它调用java屏幕共享方法来共享屏幕。这非常好。 现在我尝试调用其他机器人事件,比如MuMeMoEo、KEKEP等。我可以调用从我的C++代码中包含机器人事件调用的java方法,并且函数总是返回到C++代码中,从而显示成功执行。但是用Java方法编写的机器人事件不会被触发。有人能帮我找到正确的方向吗?我的代码如下: < C++代码> < /P> status= m_pJVM->InvokeClassMethod(m_sccObj,"keyPress", "(D)V", NULL, keyCode); if (status) { GetLogger()->Log(_T("Successfull key Press")); } else { GetLogger()->Log(_T("Unsuccessfull key Press")); }

从Visual C++代码调用时不触发的机器人事件 我有一个屏幕共享的项目,在2个用户之间,然后远程控制屏幕。我有一个Visual C++代码,通过它调用java屏幕共享方法来共享屏幕。这非常好。 现在我尝试调用其他机器人事件,比如MuMeMoEo、KEKEP等。我可以调用从我的C++代码中包含机器人事件调用的java方法,并且函数总是返回到C++代码中,从而显示成功执行。但是用Java方法编写的机器人事件不会被触发。有人能帮我找到正确的方向吗?我的代码如下: < C++代码> < /P> status= m_pJVM->InvokeClassMethod(m_sccObj,"keyPress", "(D)V", NULL, keyCode); if (status) { GetLogger()->Log(_T("Successfull key Press")); } else { GetLogger()->Log(_T("Unsuccessfull key Press")); },java,visual-c++,awtrobot,Java,Visual C++,Awtrobot,在这里,我总是得到成功的按键作为我的控制台上的输出 在Java端,代码是: public boolean keyPress(double key) { try { this.robot = new Robot(); if(robot != null) { robot.delay(5000); robot.keyPress(java.awt

在这里,我总是得到成功的按键作为我的控制台上的输出

在Java端,代码是:

public boolean keyPress(double key)
    {
        try
        {
            this.robot = new Robot();
            if(robot != null)
            {
            robot.delay(5000);
            robot.keyPress(java.awt.event.KeyEvent.VK_T);
            robot.keyPress(KeyEvent.VK_E);
            robot.keyPress(KeyEvent.VK_S);
            robot.keyPress(KeyEvent.VK_T);
            return true;
            }
            else
            {
               return false;
            }
        }
        catch(Exception e)
        {
          return false;
        }
    }
谁能告诉我这里有没有遗漏什么

谢谢,
任何帮助都将不胜感激。

java进程应该在可以访问当前桌面的用户空间中运行。检查在什么凭据下启动。如果通过服务运行-确保:

Services.msc>[您的主机服务]>登录>允许服务与桌面交互 检查过了


虽然你说它已经可以访问屏幕了,但这可能不是问题。

感谢Ujjwal的快速回复,但正如你所说,这可能不是问题。我创建了测试应用程序,然后调用了robot events,它看起来像CARM.似乎是一些问题,而从C++代码调用你改变键按压返回类型和值检查什么是代码流:改变返回类型为整数,返回说成功99,失败11。此外,我还发现按键java fn没有使用input param键。嗨,Ujjawal,是的,测试应用程序是用java编写的。我还从java方法返回了int值,我总是得到1作为返回值,因为成功使用了input param,现在我还没有使用它,我正在检查机器人的工作情况。