정확히 말하자면 SHELLDLL_DefView 에 명령 넣기.
procedure 바탕화면_바꾸기(이미지파일: String; 바둑판형식: Boolean);
const 바탕화면_복구 = 29699;
var
Reg: TRegIniFile;
바탕화면_핸들: HWND;
begin
// 레지스트리에 바탕화면에 대한 항목 세팅
Reg := TRegIniFile.Create('Control Panel');
Reg.WriteString('desktop', 'Wallpaper', 이미지파일);
if 바둑판형식 then Reg.WriteString('desktop', 'TileWallpaper', '1')
else Reg.WriteString('desktop', 'TileWallpaper', '0');
// 바탕화면 변경 메세지 보냄
바탕화면_핸들:=FindWindow('ExploreWClass', nil);
if 바탕화면_핸들=0 then 바탕화면_핸들:=FindWindow('CabinetWClass', nil);
바탕화면_핸들:=FindWindowEx(바탕화면_핸들, 0, 'SHELLDLL_DefView', nil);
SendMessage(바탕화면_핸들, WM_COMMAND, 바탕화면_복구, 0);
end;
'Delphi' 카테고리의 다른 글
[Delphi] 매일매일 바뀌는 바탕화면 (0) | 2009.04.18 |
---|---|
[Delphi] IdHTTP 이용하여 파일 다운로드 (0) | 2009.04.18 |
[Delphi] 문자열 형식 변경 - 숫자 좌우에 '0' 붙이기 (0) | 2009.04.18 |
MSN 대화창 투명도 조절 (0) | 2009.04.18 |
MSN 대화창 투명도 조절 (0) | 2009.04.18 |