0

我可以使用 Java 代码更改 Windows 7 的壁纸吗?

这是我的代码:

public class Changer {
    /**
     * @param args
     */
    public static native int SystemParametersInfo(int uiAction,int uiParam,String pvParam,int fWinIni);

    static
    {
        System.loadLibrary("user32");
    }

    public int Change(String path)
    {
       return SystemParametersInfo(20, 0, path, 0);
    }

    public static void main(String args[])
    {
        String wallpaper_file = "D:\\Photos\\walli\\dream girls\\jes54d.jpeg";
        Changer mychanger = new Changer();
        mychanger.Change(wallpaper_file);
    }
}

Eclipse IDE 中的此代码失败。我收到此错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.changer.Changer.SystemParametersInfo(IILjava/lang/String;I)I
    at com.changer.Changer.SystemParametersInfo(Native Method)
    at com.changer.Changer.Change(Changer.java:18)
    at com.changer.Changer.main(Changer.java:25)

我是 Java 新手,不知道可能的解决方案是什么。

提前致谢。

4

1 回答 1

2

函数调用SystemParametersInfo(20, 0, path, 0)错误。它预计SystemParametersInfo(UINT_PTR uiAction, UINT_PTR uiParam, String pvParam, UINT_PTR fWinIni).

在此处参考接受的答案。

您可以从这里获得 JNA 。并在此处参考 javadocs 。

于 2013-06-25T16:21:05.423 回答