Вверх ↑
Этот топик читают: Гость
Ответов: 100
Рейтинг: -1
#1: 2015-08-10 17:39:07 ЛС | профиль | цитата
Как заставить систему прочитать параметры из реестра? Ну наприимер там я изменил состояние пункта "закрепить панель задач" а система узнает об этом только после перезагрузки или рестарт експлорера а как мне заставить систему узнать об этом сейчас? Многие программы при ассоциации как-то это дедают
карма: 0

0
Ответов: 1926
Рейтинг: 172
#2: 2015-08-10 19:26:49 ЛС | профиль | цитата
Можно послать панели задач эмуляцию клавиши F5. Но это частный случай.
карма: 9
0
Ответов: 1161
Рейтинг: 160
#3: 2015-08-10 20:53:28 ЛС | профиль | цитата
Попробуй так:
code_36127.txt
Для ассоциаций должно работать
карма: 0

0
файлы: 1code_36127.txt [519B] [196]
Ответов: 3889
Рейтинг: 362
#4: 2015-08-10 23:15:16 ЛС | профиль | цитата
Yaremchenko писал(а):
Многие программы при ассоциации как-то это дедают

Они как раз в массе своей перезапускают Explorer. Это можно легко заметить по редко встречающемуся багу с последующим его (эксплорера) незапуском и связанным с этим пропаданием панели задач и рабочего стола)
карма: 1

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#5: 2015-08-10 23:29:17 ЛС | профиль | цитата
1nd1g0 писал(а):
Они как раз в массе своей перезапускают Explorer

В принципе, это можно решить и на текущих компонентах.
карма: 22

0
Ответов: 100
Рейтинг: -1
#6: 2015-08-10 23:54:01 ЛС | профиль | цитата
1nd1g0 писал(а):
Они как раз в массе своей перезапускают Explorer. Это можно легко заметить по редко встречающемуся багу с последующим его (эксплорера) незапуском и связанным с этим пропаданием панели задач и рабочего стола)

Разве при перезапуске explorer окна робочего стола не закрываютса???
карма: 0

0
Ответов: 3889
Рейтинг: 362
#7: 2015-08-11 01:19:18 ЛС | профиль | цитата
Yaremchenko писал(а):
Разве при перезапуске explorer окна робочего стола не закрываютса???

Если проводник выделен в отдельный процесс - нет, это настраивается в реестре. Можно ещё поставить в реестре ключ восстановления окон проводника на старом месте при перезапуске, по крайней мере так было на старых NT, сейчас не ручаюсь. Кстати, о смене ассоциаций систему ещё можно уведомить вызвав API SHChangeNotify с правильными параметрами. Вот только в новых системах это событие перехватывается и выскакивает диалог ручного применения ассоциаций.
карма: 1

0
Ответов: 100
Рейтинг: -1
#8: 2015-08-11 08:29:49 ЛС | профиль | цитата
1nd1g0 писал(а):
вызвав API SHChangeNotify с правильными параметрами.

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil) ?
Может SHCNE_UPDATEITEM ?
И как их вызывать?
Куда посылать?
WM_SETTINGCHANGE может сработает?
карма: 0

0
Ответов: 4631
Рейтинг: 749
#9: 2015-08-11 22:28:28 ЛС | профиль | цитата
1nd1g0 писал(а):
Можно ещё поставить в реестре ключ восстановления окон проводника на старом месте при перезапуске, по крайней мере так было на старых NT
Это есть, но если жестко убить процесс, он их не пропишет для последующего восстановления.
карма: 26

0
Ответов: 1841
Рейтинг: 369
#10: 2015-08-12 00:07:12 ЛС | профиль | цитата
[удалил]фигню_написал
карма: 1
0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)