2013-12-06 4 views
0

Центральная часть пользовательского интерфейса Microsoft Windows называется Windows Shell. Классически это был Проводник Windows, но я понимаю, что в Windows 8 это что-то еще («Immersive Shell»?) В любом случае, возможно replace the shell с чем-то другим - сама Windows поддерживает командную строку как оболочку из коробки, но есть several 3rd party shells available as well , и уже более двух десятилетий.Какова связь между Windows Shell и API-интерфейсом Shell?

В то же время есть что-то под названием «The Shell API». Он включает в себя множество функций, интерфейсов, ключей реестра и т. Д., Которые предназначены для взаимодействия программы с Shell. Например, вы можете открыть диалоговое окно «Файл-копия Windows» из вашей собственной программы; перейдите в Shell Namespace, напишите расширение для Shell; и т.д.

И это меня смущает. Если Shell можно заменить, не означает ли это, что Shell API заменен на него? Не будет ли установка другой оболочки разорвать все приложения, использующие API-интерфейс Shell? Более того - такие вещи, как пространство имен Shell, необходимы для Windows как таковой; Я не могу себе представить, чтобы заменить его чем-то другим.

Или это так, что API-интерфейс Shell отделен от самой оболочки, и каждая сменная оболочка должна работать с определенным набором интерфейсов (и придерживаться обязательных соглашений, таких как пространство имен оболочки), чтобы работать?

ответ

2

Отдельно. Оболочка - Explorer.exe. Оболочка api реализована в DLL. Таким образом, вы можете использовать их, даже если Explorer.exe не запущен.

Конечно, не ожидайте, что расширения оболочки будут работать в заменяющей оболочке.

+0

Так ли Shell (aka explorer.exe или что-то еще установленное) потребляет API-интерфейс Shell или предоставляет его? –

+0

Consume, Explorer.exe также использует эти DLL. –

+0

Я вижу. Спасибо! :) –

 Смежные вопросы

  • Нет связанных вопросов^_^