2011년 3월 15일 화요일

바탕화면 바꾸기

정확히 말하자면 SHELLDLL_DefView에 명령 넣기.





procedure 바탕화면_바꾸기(이미지파일: String; 바둑판형식: Boolean);
const 바탕화면_복구 = 29699;

var
Reg: TRegIniFile;
바탕화면_핸들: HWND;


begin
// 레지스트리에 바탕화면에 대한 항목 세팅
Reg := TRegIniFile.Create('Control Panel');
Reg.WriteString('desktop', 'Wallpaper', 이미지파일);
if바둑판형식 thenReg.WriteString('desktop', 'TileWallpaper', '1')
else Reg.WriteString('desktop', 'TileWallpaper', '0');


// 바탕화면 변경 메세지 보냄
바탕화면_핸들:=FindWindow('ExploreWClass', nil);
if바탕화면_핸들=0then 바탕화면_핸들:=FindWindow('CabinetWClass', nil);
바탕화면_핸들:=FindWindowEx(바탕화면_핸들, 0, 'SHELLDLL_DefView', nil);
SendMessage(바탕화면_핸들, WM_COMMAND, 바탕화면_복구, 0);
end;


댓글 없음:

댓글 쓰기