Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обои на раб. стол.


Gnut ©   (2005-05-15 23:40:00) 

Никак не получается установить в качестве обоев картинку формата jpeg, хотя bmp-хи ставятся отлично.
Нужна ваша помощь!


Kolan   (2005-05-17 10:47:00) [1]

Warum?(В смысле почему?)


KilkennyCat   (2005-05-17 02:24:00) [2]

но я бы убил того, кто мне активдесктоп врубит :)


Kolan   (2005-05-17 01:21:00) [3]

procedure TForm1.ChangeWallpaper(Path:PwideChar);
const
 CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
 ActiveDesktop: IActiveDesktop;
begin
 if path <> '' then
   begin
     ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)as IActiveDesktop;
     ActiveDesktop.SetWallpaper(path, 0);
     ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
   end
 else exit;
end;


function TForm1.StringToPWide( sStr: string; var iNewSize: integer ): PWideChar;
var
 pw : PWideChar;
 iSize : integer;
begin
 iSize := Length( sStr ) + 1;
 iNewSize := iSize * 2;

 pw := AllocMem( iNewSize );

 MultiByteToWideChar( CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize );

 Result := pw;
end;


Вызов

ChangeWallpaper(StringToPWide(current_dir+only_file_name,iSize));


KilkennyCat   (2005-05-16 00:36:00) [4]

можно и быстрее, ежели активдесктоп работает. он и джепегу могет....


Marser   (2005-05-16 00:25:00) [5]

Насколько я понимаю, по такой же схеме действуют и браузеры и просмотрщики вроде ACDSee.
А разве это очень медленно?
Uses JPEG
...
procedure TForm1.Button1Click(Sender: TObject);
var bmp:TBitMap;
   jpg:TJPEGImage;
begin
 jpg:=TJPEGImage.Create;
 bmp:=TBitMap.Create;
 try
   jpg.LoadFromFile('rupor323.jpg');
   bmp.Assign(jpg);
   bmp.SaveToFile('rupor323.bmp');
 finally
   jpg.Free;
   bmp.Free;
 end                
end;


Gnut   (2005-05-15 23:50:00) [6]

Это как самый крайний случай, может что-нибудь побыстрее?


Marser   (2005-05-15 23:47:00) [7]

Преобразовать в BMP.


Наверх

Титульная страница Поиск, карта сайта Написать письмо