Java和Autoit无法发送密钥,如TAB,ENTER或其他东西?

时间:2015-09-09 14:21:13

标签: java automation autoit jacob

我是autoit并尝试将其与java应用程序集成的新手。我无法发送输入 tab ctrl ,它只发送纯文本。

代码是这样的:

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    String jacobDllVersionToUse;
        if (jvmBitVersion().contains("32")){
            jacobDllVersionToUse = "jacob-1.18-M2-x86.dll";
        }
        else {
            jacobDllVersionToUse = "jacob-1.18-M2-x64.dll";
        }
     try{ 
    File file = new File("lib", jacobDllVersionToUse);
    System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());

    AutoItX x = new AutoItX();
    x.run("Skype", "C:/Program Files (x86)/Skype/Phone", AutoItX.SW_SHOW);
    x.winActivate("Skype");
    x.winWaitActive("Skype");
    x.sleep(2000);
    x.send("{TAB}!n" );
     }catch(Exception e){

   } 
}                                        

我已经尝试过:

  • x.controlSend("Window Title","text","","{ENTER}",false);
  • x.send("{TAB}!n" );
  • x.send("{TAB}n" );

1 个答案:

答案 0 :(得分:2)

对于给予我解决方案而言,它适用于Milos的真假。

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String sql="select * from app_1 where id_user_main=?";  
    String jacobDllVersionToUse;
        if (jvmBitVersion().contains("32")){
            jacobDllVersionToUse = "jacob-1.18-M2-x86.dll";
        }
        else {
            jacobDllVersionToUse = "jacob-1.18-M2-x64.dll";
        }
     try{ 
    File file = new File("lib", jacobDllVersionToUse);
    System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
    AutoItX x = new AutoItX();
    x.run("Skype", "C:/Program Files (x86)/Skype/Phone", AutoItX.SW_SHOW);
    x.winWait("Skype");
    x.winActivate("Skype");
    x.winWaitActive("Skype");
    x.sleep(2000);
    x.send("{TAB}!n", false );

     }catch(Exception e){

   } 
}                                        

你的帮助