簡體   English   中英

無法在Java中使用Autoit啟動cmd或記事本

[英]Unable to launch cmd or notepad using Autoit in Java

您好,我在Java程序中使用autoitx4java使用AutoIt。以下是我正在使用的代碼:

import java.io.File;

import autoitx4java.AutoItX;

import com.jacob.com.LibraryLoader;

public class MyTest {

    public static void main(String[] args) throws InterruptedException{
        // TODO Auto-generated method stub
        String jacobDllVersionToUse;
        if (jvmBitVersion().contains("32")){
        jacobDllVersionToUse = "jacob-1.18-x86.dll";
        }
        else {
        jacobDllVersionToUse = "jacob-1.18-x64.dll";
        }

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

        AutoItX x = new AutoItX();
     // System.out.println(file.getAbsolutePath());
        x.run("cmd.exe");


    }

    private static String jvmBitVersion() {
        // TODO Auto-generated method stub
        System.out.println(System.getProperty("sun.arch.data.model"));
        return System.getProperty("sun.arch.data.model");

    }

}

當我運行該程序時,什么也沒有發生,也沒有錯誤。如果我用notepad.exe替換cmd.exe,也會發生這種情況。 但是,當我用calc.exe計算器替換cmd.exe時,計算器將啟動。

我是AutoIt的新手,並使用下面的鏈接用Java設置AutoIt:

http://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-functionality/

如果它在錯誤的路徑中查找,則可能是運行找不到cmd和記事本,可能是32/64位問題。 或者該過程已啟動但窗口不可見,因此請檢查該過程是否在任務管理器中運行。

運行不會產生錯誤,但是它將返回“ 0並將@error設置為非零”。 如果成功,它將返回“已啟動進程的PID” https://www.autoitscript.com/autoit3/docs/functions/Run.htm

要查看它是否成功,請嘗試以下操作並查看它是否返回pid:

MsgBox(0, "test", run("cmd.exe"))

如果返回0,則可能意味着未找到該程序。 嘗試使用完整的文件路徑,例如:

MsgBox(0, "test", run("cmd.exe", "C:\Windows\System32\"))

如果返回了pid並且進程正在運行,但是您沒有看到任何窗口,請嘗試添加@SW_SHOW標志:

run("cmd.exe", "", @SW_SHOW)

run(“ cmd.exe”,“”,@SW_SHOW)起作用了!

您好,可以使用以下代碼打開記事本。 因為這對我有用。

    AutoItX x = new AutoItX();
    x.run("notepad.exe","",AutoItX.SW_SHOW);
    x.winActivate("Untitled - Notepad");
    x.winWaitActive("Untitled - Notepad");
    x.send("This is some text");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM