我有一個2用戶之間的屏幕共享項目,然後遠程控制screen.I有一個visual C++代碼,我通過它調用Java屏幕共享方法來共享screen.That工作非常好。從Visual C++代碼調用時機器人事件不會觸發
現在我正在嘗試調用其他機器人事件,如(mouseMove,keypress等)。我可以順利地從我的C++代碼中調用Java方法(其中包含機器人事件調用),並且該函數總是返回true到我的C++代碼,從而顯示成功執行,但用Java方法編寫的機器人事件沒有被燒燬。任何人都可以幫助我找到正確的方向。我的代碼如下:
C++代碼:
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"));
}
在這裏,我總是在控制檯上輸出「Successfull key press」。
在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;
}
}
誰能告訴我是否缺少anythng這裏。
謝謝, 任何幫助將不勝感激。
感謝Ujjwal的快速回覆,但正如你建議這可能不是問題。我創建了測試應用程序,然後調用機器人事件,它的工作方式就像charm.seems他們是一些問題,同時調用C++代碼 –
'測試你創建的應用程序是在Java中?正確 –
您如何更改KeyPress返回類型和值以檢查代碼流:將返回類型更改爲'Integer'並返回成功時返回99,失敗返回11。此外,我看到沒有使用輸入參數「key」到'KeyPress' java fn。 –