Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];
ВнизОбои на раб. стол. Найти похожие ветки
← →
Gnut (2005-05-15 23:40) [0]Никак не получается установить в качестве обоев картинку формата jpeg, хотя bmp-хи ставятся отлично.
Нужна ваша помощь!
← →
Marser © (2005-05-15 23:47) [1]Преобразовать в BMP.
← →
Gnut (2005-05-15 23:50) [2]Это как самый крайний случай, может что-нибудь побыстрее?
← →
Marser © (2005-05-16 00:25) [3]Насколько я понимаю, по такой же схеме действуют и браузеры и просмотрщики вроде 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;
← →
KilkennyCat © (2005-05-16 00:36) [4]можно и быстрее, ежели активдесктоп работает. он и джепегу могет....
← →
Kolan © (2005-05-17 01:21) [5]
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-17 02:24) [6]но я бы убил того, кто мне активдесктоп врубит :)
← →
Kolan © (2005-05-17 10:47) [7]Warum?(В смысле почему?)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c