--- title: "CommandWindowW - Запрос к системе на создание окна с деревом команд (Unicode)" type: guide api: [api7] tags: [guide, api7, commandwindoww] sources: - commandwindoww.html --- *API экспортных функций > Функции работы с прикладной библиотекой  > Функции работы с меню * Аналог данной функции при использовании Automation - метод ksDocument2D::ksCommandWindow. Синтаксис: ``` int LIB_FUNC CommandWindow(RequestInfoW *info); Входные параметры: Info - указатель на структуру параметров запроса к системе RequestInfo, Возвращаемое значение: - идентификатор выбранной команды, определенный в файле ресурсов, - порядковый номер в строке команд. - в случае успешного завершения, -1 - если команда не выбрана. Описание. Функция создает окно с деревом команд, определяемых строкой команд в структуре info или идентификатором меню из файла ресурсов. Команды в строке разделены пробелом или восклицательным знаком. Функции обратной связи управление передается после выбора команды или отказа. В качестве функции обратной связи передается указатель на функцию типа CommandWindowCallBack. Если в качестве функции обратной связи задан NULL, то управление из CommandWindow возвращается немедленно, как только пользователь выберет команду в дереве команд. При этом возвращается идентификатор выбранной команды. В противном случае управление вернется, если пользователь закроет окно, или функция обратной связи вернет FALSE. При этом возвращается -1. Если в качестве commands задана строка в формате Компас 4.X, например "!Команда_1 !Команда_2 ...", то идентификатором команды является ее позиция в строке (начиная с 1), то есть идентификатором команды "Команда_1" является 1. Если в качестве commands задан идентификатор меню, то идентификатором команды является идентификатор соответствующего пункта меню. Функция возвращает идентификатор выбранной команды, определенный в файле ресурсов, или порядковый номер в строке команд. Примечание. При использовании ANSI следует использовать функцию CommandWindow. ```