Что нового

[Автоматизация] Обновить рабочий стол

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Всем привет. :smile:
Мне нужно как-то на рабочем столе нажать "обновить" (Скрыто)
Или с помощью "WinAPI",
Код:
_WinAPI_RedrawWindow()

Не помогает.
Нужен способ который работал бы, на Хрюшке и на 7.
Заранее спасибо. :IL_AutoIt_1:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
Func _UpdateExplorer()
	Local $Opt = Opt('WinSearchChildren', 1)
	Local $List = WinList('[CLASS:SHELLDLL_DefView]')
	For $i = 1 To UBound($List) - 1
		DllCall('user32.dll', 'long', 'SendMessage', 'hwnd', $List[$i][1], 'int', 0x0111, "int", 0x7103, 'int', 0)
	Next
	Opt('WinSearchChildren', $Opt)
EndFunc   ;==>_UpdateExplorer
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
ControlSend('[CLASS:Progman]', '', '', '{F5}')
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Код:
Func _Update($hWnd)
	Local $hSHELLDLL_DefView = ControlGetHandle($hWnd, '', "[CLASS:SHELLDLL_DefView; INSTANCE:1]")
	DllCall('user32.dll', 'long', 'SendMessage', 'hwnd', $hSHELLDLL_DefView, 'int', 0x0111, 'int', 0x7103, 'int', 0) ;update
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Zaramot
А зачем дублировать?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Zaramot
А зачем дублировать?
Просто у меня чуть по другому (но смысл тот-же) и подумал что стоит его выложить, так как он поменьше чем у Yashied'a :-[

PS. Могу удалить, если надо.... :whistle:
 
Верх