Java并没有改变壁纸

时间:2017-10-22 20:36:16

标签: java powershell exe

我刚刚开始学习Java,想要测试一些东西。我有Window 10并使用PowerShell我发现了一个用于更改壁纸的脚本:

$setwallpapersource = @"
using System.Runtime.InteropServices;
public class wallpaper
{
    public const int SetDesktopWallpaper = 20;
    public const int UpdateIniFile = 0x01;
    public const int SendWinIniChange = 0x02;
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);
    public static void SetWallpaper ( string path )
    {
        SystemParametersInfo( SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange );
    }
}
"@
Add-Type -TypeDefinition $setwallpapersource
[wallpaper]::SetWallpaper("C:\Users\Saab\Desktop\Image.jpg")

我保存了这个.ps1脚本并将其转换为.exe(" change_wp.exe")。

如果我双击exe文件,它将根据需要更改壁纸。

然后我想看看我是否可以在Java上执行exe文件:

import java.io.IOException;

class Change {
    public static void main(String args[])
        throws IOException
    {
        Runtime.getRuntime().exec("C:\\Users\\Saab\\Desktop\\change_wp.exe");
    }
}

将文件保存为Change.java并将其放在我的桌面上。

打开cmd,到达文件java的路径(C:\ Users \ Saab \ Desktop)并执行以下2命令:

  • javac Change.java(未显示错误)
  • java -cp。更改(未显示错误)

看起来好不好?然后我看了一下没有改变的壁纸。 :(

我哪里错了?

0 个答案:

没有答案