启用active桌面,应该有相关的注册表操纵方法,自己慢慢找吧,呵呵
解决方案 »
- Delphi高手求救!
- 定时器timer1time事件内代码执行时间超过定时器间隔时,如何同时响应窗体其他事件
- 关于DBLookupComboBox的问题,奇怪?
- 各位仁兄帮帮我,我给MM写了一封情书,她这样回,你们为我分析一下我有多少机会.......
- 报表中adoquery的sql参数怎么使用?
- 我想在点最小化窗口后,将窗口最小化到任务栏,而不是桌面左下角,怎么做呀?
- 被“美丽心灵”唤醒的数学天才(转载)
- 怎样得到数字或英文字母的字形码?
- 在同一目录中复制文件并改名
- 好不容易写了一个小程序,现在又碰上一个很棘手的问题:如何制作安装程序
- 一个关于数据循环的问题?
- 怎么让TMemo控件打开网络文件,如http://a.com/a.txt
uses comobj,shlobj;procedure TForm1.Button1Click(Sender: TObject);
var
ADeskTop:IActiveDesktop;
wallpaper:PwideChar;
begin
ADeskTop:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
wallpaper:='d:\2.bmp';
ADeskTop.SetWallpaper(wallpaper,0);
ADeskTop.ApplyChanges(AD_APPLY_ALL);
end;
function SetActiveDesktop(const b: Boolean): integer;
var
Desktop: IActiveDesktop;
Info: TComponentsOpt;
begin
DeskTop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
Result := GetLastError;
info.dwSize := sizeof(info);
info.fActiveDesktop := b;
info.fEnableComponents := false;
Desktop.SetDesktopItemOptions(info, 0);
DeskTop.ApplyChanges(AD_APPLY_ALL);
end;function SetActiveDesktopWallpaper(FileName: string): integer;
var
Desktop: IActiveDesktop;
Temp: WideString;
begin
DeskTop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
Result := GetLastError;
Temp := FileName;
Desktop.SetWallpaper(PWideChar(Temp), 0);
DeskTop.ApplyChanges(AD_APPLY_ALL);
end;