我刚刚开始学习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命令:
看起来好不好?然后我看了一下没有改变的壁纸。 :(
我哪里错了?