![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно обновить рабочий стол? [D5, D6, Win95/98, WinME]
Геннадий © (2002-08-15 16:57:00)Может быть есть простая функция, типа RefreshDesktopWindow?
А может кто подскажет как посать рабочему столу F5 ?
var
D : THandle;
begin
D:= GetdesktopWindow;
SendMiddage(D, wm_KeyDown, vk_F5, 0);
end;
Или как?
Геннадий (2002-08-15 23:10:00) [1]Спасибо, работает!
-=Spike=- (2002-08-15 22:45:00) [2]Ну, это точно сработает и именно так, как ты хотел!
procedure RefreshDesktop;
var
hDesktop: HWND;
begin
hDesktop := FindWindowEx(FindWindowEx(FindWindow("Progman", "Program Manager"), 0,
"SHELLDLL_DefView", ""), 0, "SysListView32", "");
PostMessage(hDesktop, WM_KEYDOWN, VK_F5, 0);
PostMessage(hDesktop, WM_KEYUP, VK_F5, 1 shl 31);
end;
Геннадий (2002-08-15 22:32:00) [3]Не хочет...
-=Spike=- (2002-08-15 17:00:00) [4]Попробуй:
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(FindWindow("Progman",
"Program Manager"), WM_COMMAND, $A065, 0);
end;