История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2020-04-01 | 46 |
5.00
из
|
Заказать работу |
|
|
Program Manager является специализированным DDE–сервером. Он позволяет запущенным приложениям управлять конфигурацией групп приложений, изменять их атрибуты и т.д. Обычно программы установки приложений используют DDE с Program Manager для создания необходимой группы и наполнения ее элементами. В случае Windows–94 или Windows NT v4.0 и выше Program Manager обычно не используется, но работающий при этом Explorer поддерживает те–же самые сервис, тему и команды, что и Program Manager. При этом вместо групп создаются подменю в меню Пуск|Программы (Start|Programs).
В принципе Windows может быть сконфигурирован так, что вместо Program Manager используется совершенно иная оболочка, которая может не поддерживать описываемый DDE. Возможным выходом из этой ситуации является попытка запуска Program Manager (PROGMAN.EXE), если с первого раза не удается установить DDE–разговор.
Для взаимодействия с Program Manager необходимо установить DDE–разговор с сервером, поддерживающим сервис и тему с одинаковым именем “PROGMAN”, а затем можно передавать необходимые команды (сообщение WM_DDE_EXECUTE). Команды, которые поддерживает Program Manager, позволяют приложению создавать, отображать, удалять и перезагружать группы, добавлять, изменять или удалять элементы групп и завершать работу Program Manager. Для этого предназначены следующие команды:
CreateGroup — создать группу программ
ShowGroup — показать группу в указанном состоянии
Reload — перезагрузить группу из файла
DeleteGroup — удалить группу
AddItem — добавить элемент
ReplaceItem — изменить элемент
DeleteItem — удалить элемент
ExitProgman — выйти из Program Manager
Program Manager обрабатывает команды в формате, рекомендованном Microsoft. То есть каждая команда заключается в квадратные скобки, а если она имеет дополнительные параметры, то список параметров заключается в круглые скобки, причем параметры в списке разделены запятыми. В одном запросе к серверу можно указать несколько команд сразу, например:
|
[ShowGroup(“Accessories”,1)][AddItem(myapp.exe,”My app”,myapp.exe,5)]
Этот пример добавляет элемент “My app” в группу “Accessories”.
Помимо выполнения этих команд Program Manager может выполнять обмен данными с клиентом, благодаря чему возможно получение информации об имеющихся группах и элементах этих групп. Для этого используются те же имена сервиса и темы “PROGMAN”, что и для выполнения команд, но при этом серверу передаются запросы на получение данных по холодной связи в формате CF_TEXT.
Для того, что бы получить список групп, клиент должен прочитать данные с именем “Group”. В ответ Program Manager вернет список групп, разделенный символами перевода строки.
Приложение может запросить у Program Manager информацию о группе. Для этого оно должно прочитать данные с именем, соответствующем имени группы. Возвращается текст из нескольких строк, каждая строка состоит из нескольких компонент, разделяемых запятыми. Первая строка определяет информацию о самой группе, а все последующие — об элементах группы.
Информация о группе состоит из:
· имени группы, заключенного в кавычки
· пути к файлу группы (.grp)
· число элементов в группе
Информация об элементе группы:
· команда, заключенная в кавычки
· название каталога
· пути к файлу, содержащему пиктограмму
· индексу пиктограммы в файле
· “горячей клавише” (в числовой форме)
· флагу минимизированного состояния при запуске приложения
Примечание: в документации утверждается, что на количество элементов в группе наложено ограничение — не более 50 элементов на одну группу. Однако существует иное, гораздо более жесткое ограничение — размер grp–файла под Windows 3.x не может быть больше 64K. Этот размер может быть легко превышен, если используются видео–режимы с большим количеством цветов (Hi–Color или TrueColor), например 16, 24 или 32 бита на пиксел. Дело в том, что grp–файл содержит в себе изображения всех пиктограмм, размер которых увеличивается с увеличением числа цветов. При этом предельный размер grp–файла может быть достигнут после десятка элементов (для TrueColor — примерно 13 элементов).
|
Далее более подробно описываются команды, обрабатываемые Program Manager. При этом мы будем придерживаться следующего синтаксиса — описание самой команды в квадратные скобки не заключается, а необязательные параметры выделяются с их помощью. Для лучшей читаемости параметры разделяются дополнительным пробелом (при передачи команды этих пробелов быть не должно).
Рекомендуется дополнительно просмотреть раздел “Выполнение команд DDE” для получения справок о синтаксисе записи команд и параметров.
CreateGroup(GroupName [,CommonGroupFlag]) CreateGroup(GroupName [,GroupFile])
Команда CreateGroup создает указанную группу, либо делает активной уже существующую.
Параметры:
GroupName строка, задающая имя группы.
CommonGroupFlag параметр указывает, какая группа создается. Если он равен 1, то создается общая группа, а если 0, то персональная. Если работающий пользователь не имеет административных привилегий, то попытка создать общую группу не удастся. По умолчанию используется 1 для пользователей, располагающих привилегиями администратора, и 0 для остальных пользователей.
GroupFile в Windows 3.1 этот параметр задавал имя grp–файла. В старших версиях Windows в качестве второго параметра рассматриваются только 0 и 1, иначе этот параметр игнорируется.
ShowGroup(GroupName, ShowCommand [,CommonGroupFlag])
Команда ShowGroup позволяет показать группу в нормальном, максимизированном или минимизированном виде.
Параметры:
GroupName строка, задающая имя группы.
ShowCommand целое число, указывающее, в каком виде надо отобразить окно группы.
1 — отобразить активным в нормальном состоянии
2 — отобразить активным в минимизированном состоянии
3 — отобразить активным в максимизированном состоянии
4 — отобразить окно группы в нормальном состоянии; активное окно останется активным
5 — делает окно группы активным, не изменяя ее размера и положения
6 — минимизирует окно группы
7 — минимизирует окно группы; активное окно останется активным
8 — отображает в текущем состоянии
CommonGroupFlag параметр указывает, какая группа создается. Если он равен 1, то создается общая группа, а если 0, то персональная. Если работающий пользователь не имеет административных привилегий, то попытка создать общую группу не удастся. По умолчанию используется 1 для пользователей, располагающих привилегиями администратора, и 0 для остальных пользователей.
|
Reload(GroupName [,CommonGroupFlag])
Эта команда заставляет Program Manager удалить описание группы из памяти и загрузить grp–файл снова. Такая возможность может применяться, если программа модифицирует непосредственно grp–файл, а затем хочет отобразить сделанные изменения.
Параметры:
GroupName строка, задающая имя группы.
CommonGroupFlag параметр указывает, какая группа создается. Если он равен 1, то создается общая группа, а если 0, то персональная. Если работающий пользователь не имеет административных привилегий, то попытка создать общую группу не удастся. По умолчанию используется 1 для пользователей, располагающих привилегиями администратора, и 0 для остальных пользователей.
DeleteGroup(GroupName [,CommonGroupFlag]) DeleteGroup(GroupName [,GroupFile])
Команда DeleteGroup удаляет указанную группу.
Параметры:
GroupName строка, задающая имя группы.
CommonGroupFlag параметр указывает, какая группа создается. Если он равен 1, то создается общая группа, а если 0, то персональная. Если работающий пользователь не имеет административных привилегий, то попытка создать общую группу не удастся. По умолчанию используется 1 для пользователей, располагающих привилегиями администратора, и 0 для остальных пользователей.
GroupFile в Windows 3.1 этот параметр задавал имя grp–файла. В старших версиях Windows в качестве второго параметра рассматриваются только 0 и 1, иначе этот параметр игнорируется.
AddItem(CmdLine [,Name [,IconPath [,IconIndex [,xPos, yPos [,DefDir [,HotKey [,fMinimize [fSeparateMemSpace] ] ] ] ] ] ])
Команда AddItem позволяет добавить в активную группу программный элемент.
Параметры:
CmdLine строка, задающая команду, осуществляющую запуск приложения. Эта строка должна содержать имя приложения, а также может содержать полный путь к приложению и другие необходимые параметры.
Name задает имя элемента в группе. Если этот параметр опущен, то используется имя приложения.
IconPath задает полное имя файла, содержащего ресурс пиктограммы, которая будет отображаться в окне группы. Это может быть выполняемый файл Windows (.exe,.dll) или отдельная пиктограмма (.ico). Если этот параметр опущен, то пиктограмма ищется в файле приложения, причем, если указанный файл не является приложеним, то используется пиктограмма ассоциированного с данным типом файлов приложения (ассоциации задаются с помощью реестра Windows); а если и это не удается, то используется пиктограмма по умолчанию.
|
IconIndex задает индекс пиктограммы в файле, определенном параметром IconPath.
xPos, yPos задают положение пиктограммы в окне группы. Эти параметры представлены целыми числами. Если позиция не задана, то Program Manager находит первое неиспользуемое место.
DefDir задает имя рабочего каталога приложения.
HotKey задает “горячую” клавишу, используемую для вызова приложения.
fMinimize указывает, надо–ли отображать окно приложения при запуске в виде пиктограммы.
fSeparateMemSpace указывает, надо–ли запускать 16–ти разрядное приложение в самостоятельном адресном пространстве (используется на некоторых платформах Win32).
ReplaceItem(ItemName)
Команда ReplaceItem используется для замены одного элемента другим. При выполнении этой команды указанный элемент удаляется, а его позиция запоминается. Последующий вызов AddItem создаст новый элемент в этом месте.
Параметры:
ItemName строка, задающая имя удаляемого элемента. На его месте будет размещен следующий создаваемый элемент.
DeleteItem(ItemName)
Команда DeleteItem осуществляет удаление указанного программного элемента.
Параметры:
ItemName строка, задающая имя удаляемого элемента.
ExitProgman(bSaveGroups)
Эта команда завершает работу Program Manager.
Параметры:
bSaveGroups величина, указывающая надо или нет сохранять текущее состояние групп перед завершением работы Program Manager. При значении 0 сохранения групп не происходит.
|
|
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!