程序更换墙纸,结果没换成,请进看看

dream_pzy 2003-09-26 11:12:02
WIN2000 SERVER 系统:
我想设置桌面
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, ("2.bmp"),0);

结果没换成,不过应该是生效了, 因为按 CTRL+ALT+DEL 会看见设置的图片,是不是墙纸和桌面不是一个东西啊?
...全文
45 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream_pzy 2003-09-27
  • 打赏
  • 举报
回复
ddeng(登登) ( ) 说的对,我取消了 活动桌面后就可以了, 但是我不想取消活动桌面如何用程序来实现呢?
HUANG_JH 2003-09-27
  • 打赏
  • 举报
回复
void __fastcall TForm1::SetWallPaper()
{
Graphics::TBitmap *tmpBitmap=
new Graphics::TBitmap();
tmpBitmap->Width=Image1->Width;
tmpBitmap->Height=Image1->Height;
tmpBitmap->Canvas->StretchDraw(
Rect(0,0,tmpBitmap->Width,tmpBitmap->Height),
Image1->Picture->Graphic);
char dir[50];
GetWindowsDirectory(dir,50);
tmpBitmap->SaveToFile(AnsiString(dir)
+"\\myWallPaper.bmp");
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
(AnsiString(dir)+"\\myWallPaper.bmp").c_str(), 0);
}
binbin 2003-09-26
  • 打赏
  • 举报
回复
墙纸和桌面背景应该不是一个东东.
binbin 2003-09-26
  • 打赏
  • 举报
回复
墙纸和桌面背景应该不是一个东东.
佣工7001 2003-09-26
  • 打赏
  • 举报
回复
重绘一下试试
dream_pzy 2003-09-26
  • 打赏
  • 举报
回复
按照 eyesonmecn(eyes) 的做了,还是没行
ddeng(登登) : 给讲一下 IActiveDesktop 接口好吗?
eyesonmecn 2003-09-26
  • 打赏
  • 举报
回复
WIN2000用systemparametersinfo都行的,你试下这个,tFile是BMP的文件
//用系统参数API改变
if(SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,tFile.c_str(), SPIF_UPDATEINIFILE))
return 0;
else
//API操作出错,返回
return GetLastError();
ddeng 2003-09-26
  • 打赏
  • 举报
回复
2000用了活动桌面,用SystemParametersInfo不行的。
用IActiveDesktop接口吧。

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧