본문 바로가기
IT-개발,DB

[개발/MFC] 바탕화면 바꾸기

by SB리치퍼슨 2011. 8. 1.
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);
반응형

댓글