Вниз
Скачать: CL | DM;

StringToWideChar   Найти похожие ветки 

← →
kotbazilio ©   (2007-08-07 15:04) [0]

ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)  as IActiveDesktop;
 ActiveDesktop.SetWallpaper("c:\wallpaper.html", 0);
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);

такой код работает

 p: pwidechar;
 s: string;

 s := GetCurrentDir+"\wallpaper.html";
 p := StringToWideChar(s,p,255);
 ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)    as IActiveDesktop;
 ActiveDesktop.SetWallpaper(p, 0);
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
а такой вызывает ошибку. Где копать?


← →
Плохиш ©   (2007-08-07 15:07) [1]


> а такой вызывает ошибку. Где копать?

Копать в описании ошибки.


← →
kotbazilio ©   (2007-08-07 15:09) [2]

Access violation at adress... Process stop


← →
Плохиш ©   (2007-08-07 15:50) [3]

Под переменную p надо выделить память, о чём в справке и написано.


← →
Anatoly Podgoretsky ©   (2007-08-07 16:25) [4]

> kotbazilio  (07.08.2007 15:04:00)  [0]

Чем тебя не устраивает WideString, все равно с указателями работать не умеешь, пусть уж Дельфи за тебя работает.


← →
Котик Б   (2007-08-07 16:58) [5]


var
 ad: IActiveDesktop;
 fn: TFileName;
 fd: string;
 hr: HRESULT;
 buff: array[byte]of WideChar;
begin
 fn := "wallpaper.html";
 fd := "c:\"; //GetCurrentDir();
 fn := IncludeTrailingPathDelimiter(fd) + fn;
 if SysUtils.FileExists(fn)
 then begin
   ad := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
   hr := ad.SetWallpaper(StringToWideChar(fn, @buff, SizeOf(buff)), 0);
   if hr = S_OK
   then hr := ad.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
 end;
end;



← →
MetalFan ©   (2007-08-07 17:03) [6]


> Котик Б   (07.08.07 16:58) [5]

абсолютно бессмысленный изврат.
смотри
> Anatoly Podgoretsky ©   (07.08.07 16:25) [4]

дело говорит ;)


← →
Котик Б   (2007-08-07 17:04) [7]


> MetalFan ©   (07.08.07 17:03) [6]
> > Котик Б   (07.08.07 16:58) [5]
> абсолютно бессмысленный изврат.


Чего треплешься - покажи свой вариант - не стесняйся... тут все свои ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
1-1182412276
ChaoX
2007-06-21 11:51
2007.09.02
Как запустить форму из пакета?


2-1186761790
denewb
2007-08-10 20:03
2007.09.02
Comparing signed and unsigned types - widened both operands


15-1186068053
Kenifer
2007-08-02 19:20
2007.09.02
Как сделать чтоб программа сохраняла файл!


11-1168848047
MTsv DN
2007-01-15 11:00
2007.09.02
TVBeginEdit и TVEndEdit


15-1186463631
KilkennyCat
2007-08-07 09:13
2007.09.02
Дожили: американцы учат программированию.




   Наверх