2012-07-06 4 views
0

이것은 내가 stackoverflow에서 발견 한 것입니다. 나는 당신이 ... 당신을 사용하려는 정확히 당신이 게시 한 코드를 가정 윈도우 7자바에서 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\\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 
          ); 
        } 

    } 

source for the code from stackoverflow

+0

무엇이 문제입니까? –

+0

좋아, 너 그렇게 발견 했어, 무슨 일이야? – Alfabravo

+0

게시 할 때 끝나지 않았지만 문제는 어떻게 작동합니까? 예제 코드는 나를 위해 작동하지 않는 다른 게시물의 답변입니다. – jerhynsoen

답변

0

에 나를 위해 윈도우 바탕 화면을 변경하는 자바 클래스입니다 찾고 있어요 SPI 인터페이스의 본문은 포함되어 있지 않습니다. 어둠 속에서 우리는 어떤 일식이 던지고 있는지 알려주지 않았다. 보다 구체적인 도움이 필요하면 코드의 일부가 "빨간색"이라고 말하는 것보다 구체적이어야합니다. 그건 우리를 도와주지 않아.

게시 한 stackoverflow 링크에서 전체 코드를 복사하면 제대로 작동합니다.

또한 문제와 관련이 없지만 클래스 이름은 Java 표준과 일치하도록 변경해야합니다. http://www.oracle.com/technetwork/java/codeconv-138413.html

+0

축하해. 그래서 금요일에, 나는하지 않았다. 모든 코드를 복사하십시오. 그러나 그것은 내 벽지를 변경하지 않습니다. 이제 작동합니다 ... 감사합니다! – jerhynsoen

관련 문제