首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从可视c++代码调用时,机器人事件不会触发

从可视c++代码调用时,机器人事件不会触发
EN

Stack Overflow用户
提问于 2012-09-26 14:22:35
回答 1查看 188关注 0票数 1

我有一个在两个用户之间共享屏幕,然后远程控制屏幕的项目。我有一个可视化的c++代码,通过它我可以调用Java screen share方法来共享screen.That,它工作得非常好。

现在我正在尝试调用其他机器人事件,如(mouseMove,keypress等).I能够顺利地从我的c++代码中调用Java方法(其中包含机器人事件调用),并且函数总是将true返回给我的c++代码,从而显示成功执行,但是用Java方法编写的机器人事件不能获得Fired.Can任何人帮助我获得正确的direction.My代码如下所示:

来自c++代码:

代码语言:javascript
复制
 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端,代码是:

代码语言:javascript
复制
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;
        }
    }

谁能说出我是不是遗漏了什么。

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

EN

回答 1

Stack Overflow用户

发布于 2012-09-26 14:35:55

java进程应该在可以访问current desktop的用户空间中运行。

检查启动时所使用的凭据。如果它通过服务运行-请确保:

Services.msc > [Your host service] > Log On > Allow service to interact with desktop处于选中状态。

虽然你说它已经可以访问屏幕-这可能是而不是是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12595685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档