Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ДескТоп, Как обновить десктоп? 
:(
    Опции темы
AVA
  Дата 22.6.2004, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 4.6.2004
Где: г. Калуга

Репутация: нет
Всего: нет



Народ!
Как програмно синхронизировать содержимое Web страницы, которая интегрирована в десктоп? hmmm.gif
PM MAIL ICQ   Вверх
<Spawn>
Дата 22.6.2004, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



С чем синхронизовать? По точнее, пожалуйсто.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
AVA
Дата 22.6.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 4.6.2004
Где: г. Калуга

Репутация: нет
Всего: нет



Я имел ввиду ситуацию, когда сам HTML код изменился и надо как-то обновить эту страничку (програмно) на десктопе для отражения новых изменений.
PM MAIL ICQ   Вверх
_vova_
Дата 22.6.2004, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 18.6.2004
Где: Харьков

Репутация: нет
Всего: нет



Точно не помню, но должно сработать.
Код

SendMessage( 0 , WM_Restore , 0 , 0 );

Первый 0 - это ссылка на DeskTop
PM MAIL   Вверх
stab
Дата 22.6.2004, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



_vova_, WM_RESTORE -- нет такого...


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
_vova_
Дата 23.6.2004, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 18.6.2004
Где: Харьков

Репутация: нет
Всего: нет



Sorry sad.gif, WM_SETREDRAW
PM MAIL   Вверх
stab
Дата 23.6.2004, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Не, WM_SETREDRAW просто перерисовку отключает\включает.

Пробовал копать в сторону IActiveDesktop -- нет там методов для обновления содержимого, судя по всему, надо двигаться в сторону Windows Synchronization Manager (вроде так называется, хотя в документации толком не ясно, то так, то сяк обзовут). Это то, что в IE вызывается по команде Сервис -> Синхронизировать... , но какого-либо API мне обнаружить не удалось. Может у всезнающего All получится...


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Unregistered
Дата 23.6.2004, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 23.6.2004

Репутация: нет
Всего: нет



А обязательно програмно? Если да, то в кратце - с чем это связано?
В w2k есть поддержка синхронизации страницы через шедулинг (в настройках рабочего стола).
PM MAIL   Вверх
AVA
Дата 23.6.2004, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 4.6.2004
Где: г. Калуга

Репутация: нет
Всего: нет



Програмно обязательно, потому что HTML код гинерится моим приложением, а результат отражается на десктопе и при условии изменений в HTML их необходимо отразить сразуже...
PM MAIL ICQ   Вверх
stab
Дата 23.6.2004, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Может попытаться послать что-то типа:

Код

 SendMessage(GetDesktopWindow, WM_KEYDOWN, VK_F5, $003F0001);
 SendMessage(GetDesktopWindow, WM_KEYUP, VK_F5, $C03F0001);



--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
stab
Дата 23.6.2004, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Фуф, нашел метод:

Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses ShlObj, ActiveX;

type
 IADesktopP2 = interface(IInterface)
 ['{b22754e2-4574-11d1-9888-006097deacf9}']
   function ReReadWallpaper: HRESULT; stdcall;
   function GetADObjectFlags(lpdwFlags: PDWORD; dwMask: DWORD): HRESULT; stdcall;
   function UpdateAllDesktopSubscriptions: HRESULT; stdcall;
   function MakeDynamicChanges(pOleObj: IOleObject): HRESULT; stdcall;
 end;

procedure TForm1.Button1Click(Sender: TObject);
var
 desk: IActiveDesktop;
const
 IID_IActiveDesktop: TGUID = SID_IActiveDesktop;
begin
 CoCreateInstance(CLSID_ActiveDesktop, nil, CLSCTX_INPROC_SERVER, IID_IActiveDesktop, desk);
 if desk <> nil then
 begin
   with desk as IADesktopP2 do
   begin
     UpdateAllDesktopSubscriptions;
   end;
 end;
end;

initialization
 CoInitialize(nil);

finalization
 CoUninitialize;

end.


Но! Есть две проблемы:

1. Обновляются все подписки.
2. Показывается окошко синхронизации, его можно скрыть, например, следующим образом:
Код

hSyncWnd := FindWindow('SyncMgr_HwndDialog', nil);
if hSyncWnd <> 0 then
 ShowWindow(hSyncWnd, SW_HIDE);


AVA, с тебя пЫво smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.