Jump to content
Sign in to follow this  
TehnicDream

AutoIT and Java with JACOB

Recommended Posts

TehnicDream

Hi, im new to autoit and i have a little problem i have to do a app to start some web pages and some windows base programs oane of them is Skype,

the problem is that Skype starts but only in system tray and i do not know how to appear on desktop the code i use is below:

 

public static String jvmBitVersion(){
        return System.getProperty("sun.arch.data.model");
}   
    
    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";
            }

        File file = new File("lib", jacobDllVersionToUse);
        System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());

            AutoItX x = new AutoItX();
                x.run("C:\\Program Files (x86)\\Skype\\Phone\\Skype.exe");
                x.sleep(2000);
                x.winWaitActive("Skype");
                x.winActivate("Skype");
                
    }

 

Edited by TehnicDream

Share this post


Link to post
Share on other sites
TehnicDream

Hi again i did it but the problem new is that i cant send tab or somting else only plain text

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";
            }

        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_MAXIMIZE);
        x.winActivate("Skype");
        x.winWaitActive("Skype");
        x.sleep(2000);
        x.send("nu mai merge de aici sau pana aici merge");
        x.sleep(1000);
        x.send("{TAB}!n");

    }

 

Share this post


Link to post
Share on other sites
TehnicDream

Hy, there is someone that cant help pls ? 

Share this post


Link to post
Share on other sites
TehnicDream

Ok, sory i will repost ther,

Thy

Share this post


Link to post
Share on other sites
TehnicDream

Hi im new with AutoIT and i have a problem with integration with java i  manage to do a script to open skype throw a java app but the problem is that the autoit part only sends text i need to sends things like ENTER and TAB this is the code

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){
           
       } 
    }

Thy

Share this post


Link to post
Share on other sites
Jos

Ok, sory i will repost ther,

Thy

No need to repost, just request for getting it moved or else you end up with 2 threads on the same topic.

Topics merged. :)

Jos


SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
TehnicDream

Ok thy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • gahhon
      By gahhon
      While Not _Login() _Login() WEnd _Initial_Check() GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $GUI_CLOSE_BUTTON, $BTN_EXIT _GUIDisable($GUI_MAIN, 0, 30) _Close_Application() EndSwitch WEnd ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Password_Check ; Description ...: To check against the input with the password file ; =============================================================================================================================== Func _Password_Check() Local $IN_PASSWORD = _Metro_InputBox("Please Enter Your Password:" , 11, "", True, True) If @error Then Return SetError(1, 0, "") ElseIf $PASSWORD <> $IN_PASSWORD Then Return SetError(2, 0, "Access Denied!") Else Return True EndIf EndFunc ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Login ; Description ...: Login ; =============================================================================================================================== Func _Login() Local $FLAG_LOGIN = _Password_Check() If @error = 1 Then _Close_Application() ElseIf @error = 2 Then _Metro_MsgBox(0, "", $FLAG_LOGIN) Return False Else _Metro_MsgBox(0, "", "Access Granted!") Return True EndIf EndFunc When the application start, it will prompt for password for login.
      I entered several wrong password, it shows "Access Denied!" and re-prompt for password for login.
      Then I entered the correct one, it shows "Access Granted!" but it still re-prompt for password for login.
      Any idea what's wrong? Thanks
    • gahhon
      By gahhon
      #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\..\Downloads\ALlogo.ico #AutoIt3Wrapper_Compile_Both=y #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Res_HiDpi=y #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/so /rm /pe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** I found out that a lot of sources provided by AutoIT members like what I am recently using is the Metro UDF.
      On top of it, it always written the Region of code and red color. Then it also assign some value into some variable.
      May I know, what are their use and what is the purpose of doing?
      If I remove them, will affect the application?
      Thanks
    • gahhon
      By gahhon
      I don't find any relevant topic via Google Search. Please kindly advise how to read and update data in Google SpreadSheet.
      Thanks a lot.
    • gahhon
      By gahhon
      While Not _Login() _Initial_Check() WEnd Func _Login() Local $FLAG_LOGIN = _Password_Check() If @error = 1 Then _Close_Application() ElseIf @error = 2 Then _Metro_MsgBox(0, "", $FLAG_LOGIN) Return False Else ; $FLAG_LOGIN return TRUE _Metro_MsgBox(0, "", "Access granted!") Return True EndIf EndFunc  I do have a question regarding the While Not Loop.
      According to the code I post above, While Not _Login() is similar to While _Login() = False right?
      Which mean when _Login() return False and it will execute the _Initial_Check() function, but somehow the logic is not right and I also don't understand why While Not _Login() loop is executed as expected.
      What I wanna achieve is when _Login() is not success, which mean return False then it continue loop the _Login() function until it return True
      When It return True only execute the _Initial_Check() function.
      Please kindly clarify. Thanks
    • gahhon
      By gahhon
      I would like to copy the entire folder with current directory @WorkingDir
      paste into either Program Files or Program Files (x86)
      Global Const $CUR_WA_FOLDER = @WorkingDir & "\Test Folder" Global Const $DIR_FOLDER = _ProgramFilesDir() _Initial_Check() Func _Initial_Check() If FileExists($DIR_FOLDER & "\Test Folder") = 0 Then Local $Decisions = _Metro_MsgBox(4, "", "Do you want to install Test Application?") If $Decisions = "Yes" Then DirCopy($CUR_WA_FOLDER, $DIR_FOLDER, 1) Else _Close_Application() EndIf EndIf EndFunc Func _ProgramFilesDir() Local $ProgramFilesDir Switch @OSArch Case "X32" $ProgramFilesDir = "Program Files" Case "X64" $ProgramFilesDir = "Program Files (x86)" EndSwitch Return @HomeDrive & "\" & $ProgramFilesDir EndFunc  
×