바탕 화면 새로 고침 :보내기 WM_SETTINGCHANGE 메시지가 나는 프로그램이 한 줄을 통해 내 바탕 화면 배경을 변경하려면 관리
DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $CmdLine[1], "int", 0)
중 & hellip을; 원하는 배경 화면을 컴파일 된 스크립트로 끌어서 놓기 만하면됩니다.
바탕 화면을 변경하는 다른 프로그램이 있는데 어떤 이유로 든 WM_SETTINGCHANGE
메시지를 보내지 못했습니다. (업데이트되는 키는 HKCU\Control Panel\Desktop\Wallpaper
입니다.) 이 메시지를 보내면 벽지를 새로 고침 할 수 있습니까? WM_SETTINGCHANGE
에 정확한 메시지가 있습니까? 아니면 첫 번째 스크립트가 유일한 방법입니까?
DllCall("user32.dll", "lresult", "SendMessage", _
"int", 0xffff, _
"int", 0x001a, _
"int", 0x0014, _
"str", "HKCU\Control Panel")
0xffff
모든 창에 메시지를 방송을위한, 0x001a
이 WM_SETTINGCHANGE
를 들어, 0x0014
이 spi_setdeskwallpaper
의 코드가 의미합니다. Windows 7의 작업 표시 줄은 깜박 하나 배경 무늬가 변경되지 않습니다.
C, C++ 또는 Visual Basic으로 문제를 해결하면 직접 AutoIt으로 변환합니다 (피연산자의 숫자 코드가 필요함).
불행히도 작동하지 않습니다. 작업 표시 줄의 용지함 근처에서 약간 깜박 거리는 것을 볼 수 있지만 벽지는 바뀌지 않습니다. 어쨌든,이 작은 유틸리티 (http://windowsxp.mvps.org/wprefresh.exe) (wprefresh.exe)를 발견했습니다.이 트릭을 수행하는 것으로 보입니다. 수동으로'HKCU \ Control Panel \ Desktop \ Wallpaper'를 변경하고 wprefresh를 실행하면 새로운 배경 화면이 보입니다. 나는 그것이 어떤 메시지를 보내는 지 모릅니다, 그것은 단지 작동합니다. 그럼에도 불구하고 관심을 가져 주셔서 감사합니다. – Marco