Можно ли подключить окна 7 и 8 общих диалогов?

Я пытаюсь заменить все вызовы файлового диалога Windows Common (Открыть / Сохранить) собственным диалоговым окном. Из того, что я читал до сих пор, я мог сделать это с помощью ловушки на вызовах, либо написав свои собственные, либо используя такие библиотеки, как обходы или easyhook. Но кто-то недавно сказал мне, что такой подход возможен только до Vista, из-за изменения архитектуры сессий, и такое переключение невозможно в Win 7/8. Теперь я не парень, которому нравится слово «невозможно» 🙂 Так что, если у вас есть какие-либо советы по этому вопросу, пожалуйста, скажите, и я буду признателен за вашу доброту.

Что бы я ни делал, мое приложение будет запускаться пользователем, оно будет находиться в трее, и когда пользователь вызывает диалог открытия / сохранения из любого приложения, он должен заменить стандартный диалог по умолчанию на собственный диалог.

0

Решение

Новый стиль Диалоги общих элементов реализованы как стандартные объекты COM, так что вы можете просто реализовать свою собственную DLL, которая предоставляет те же интерфейсы COM (IFileOpenDialog, IFileSaveDialogи т. д.), а затем переопределите стандартные регистрации в реестре своими собственными. Таким образом, каждое приложение, которое использует диалоги, будет загружать вашу DLL вместо Microsoft.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]