如何在java中设置windows墙纸
这是我在stackoverflow上找到的。我正在寻找一个java类来为我在Windows7中更改windows墙纸如何在java中设置windows墙纸,java,Java,这是我在stackoverflow上找到的。我正在寻找一个java类来为我在Windows7中更改windows墙纸 public class changewallpaper { public static void main(String[] args) { //supply your own path instead of using this one String path = "C:\\Users\\d1j5\\Pictures\\a
public class changewallpaper {
public static void main(String[] args) {
//supply your own path instead of using this one
String path = "C:\\Users\\d1j5\\Pictures\\asgardrealmofthegods.jpg";
SPI.INSTANCE.SystemParametersInfo(
new UINT_PTR(SPI.SPI_SETDESKWALLPAPER),
new UINT_PTR(0),
path,
new UINT_PTR(SPI.SPIF_UPDATEINIFILE | SPI.SPIF_SENDWININICHANGE));
} public interface SPI extends StdCallLibrary {
//from MSDN article
long SPI_SETDESKWALLPAPER = 20;
long SPIF_UPDATEINIFILE = 0x01;
long SPIF_SENDWININICHANGE = 0x02;
SPI INSTANCE = (SPI) Native.loadLibrary("user32", SPI.class, new HashMap<Object, Object>() {
{
put(OPTION_TYPE_MAPPER, W32APITypeMapper.UNICODE);
put(OPTION_FUNCTION_MAPPER, W32APIFunctionMapper.UNICODE);
} }); boolean SystemParametersInfo(
UINT_PTR uiAction,
UINT_PTR uiParam,
String pvParam,
UINT_PTR fWinIni
);
}
}
公共类更改壁纸{
公共静态void main(字符串[]args){
//提供您自己的路径,而不是使用此路径
String path=“C:\\Users\\d1j5\\Pictures\\asgardrealmofthegoods.jpg”;
SPI.INSTANCE.SystemParametersInfo(
新UINT_PTR(SPI.SPI_Setdesk壁纸),
新UINT_PTR(0),
路径
新UINT_PTR(SPI.SPIF_UPDATEINIFILE | SPI.SPIF_sendwinichange));
}公共接口SPI扩展StdCallLibrary{
//来自MSDN文章
长SPI_SETDESKWALLPAPER=20;
长SPIF_UpdateInFile=0x01;
长SPIF_sendwinichange=0x02;
SPI实例=(SPI)Native.loadLibrary(“user32”,SPI.class,new HashMap(){
{
put(选项类型映射器,w32 pitypemapper.UNICODE);
put(选项函数映射器,W32APIFunctionMapper.UNICODE);
}});布尔系统参数sinfo(
行动,
UINT_PTR uiParam,
字符串pvParam,
乌恩图夫维尼尼酒店
);
}
}
假设您发布的代码正是您试图使用的代码。。。您还没有包括SPI接口的主体。考虑到你没有告诉我们eclipse抛出了什么错误,这是一个冒险。如果你想要更具体的帮助,你需要比说代码的某些部分是“红色”更具体。这对我们没有帮助 从你发布的stackoverflow链接复制完整的代码,它应该可以工作
另外,虽然与您的问题无关,但您的类名应该更改为与Java标准一致。请看好的,你发现了,发生了什么事?发布时我还没有完成,但问题是如何完成,示例代码是另一篇文章的答案,对我来说不起作用。可能是重复的:哈哈,这是一个星期五,我没有复制所有的代码。但是它不会改变我的壁纸。它现在起作用了。。。谢谢