узнать ID ключа
Доброго времени суток, уважаемые знатоки! Подскажите: через командную строку (cmd) можно как-то получить ID вставленного в пк ключа?
Вы не авторизованы. Пожалуйста, войдите или зарегистрируйтесь.
Форум Guardant → Техподдержка пользователей электронных ключей → узнать ID ключа
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Доброго времени суток, уважаемые знатоки! Подскажите: через командную строку (cmd) можно как-то получить ID вставленного в пк ключа?
Здравствуйте!
Штатными средствами Windows через командную строку нельзя получить ID, вставленного в пк ключа.
Уточните, пожалуйста, для каких целей Вам потребовался именно такой функционал?
Хотелось сделать примерно следующее:
Пользователь втыкает ключ, в системе подцепляется сетевой диск. По идентификатору ключа выбирается нужная папка и данные доступа, которые следует подключить.
п.с.: имеется куча ключей и комплект разработчика
Вы задали аналогичный вопрос по почте, Вам ответили.
Кстати, такая консольная утилита была написана нами самостоятельно. Когда я ее делал, то удивлялся, почему не сделать такую штатную утилиту по поиску ключей по заданным условиям. В командную строку передаются условия поиска ключей, а на выходе утилита выводит найденные ID. Если существует некая билд-машина, к которой подключены разные ключи, а для работы нужно выбрать какой-то конкретный по текущим настройкам конкретного билда, то без такой утилиты не обойтись.
Кстати, такая консольная утилита была написана нами самостоятельно. Когда я ее делал, то удивлялся, почему не сделать такую штатную утилиту по поиску ключей по заданным условиям. В командную строку передаются условия поиска ключей, а на выходе утилита выводит найденные ID. Если существует некая билд-машина, к которой подключены разные ключи, а для работы нужно выбрать какой-то конкретный по текущим настройкам конкретного билда, то без такой утилиты не обойтись.
если дадите подсказку как реализовать, буду премногоблагодарен
Еще такой момент: как реализовать или где можно найти утилитку, которая при изъятии ключа запустила, скажем, exe-файл.
если дадите подсказку как реализовать, буду премногоблагодарен
Возможно тут будет полезна консольная утилита диагностики электронных ключей - chknsk.
если дадите подсказку как реализовать, буду премногоблагодарен
proc ReportDongle(const ContainerHandle: HANDLE; const ID: DWORD);
begin
RCode := GrdSetFindMode(ContainerHandle, GrdFMR_Local,
GrdFM_ID, 0, ID, 0, 0, 0, 0, 0, GrdFMI_USB);
GrdFind(ContainerHandle, GrdF_First, @dwID, @GrdFindInfo);
GrdLogin(ContainerHandle, $FFFFFFFF, GrdLM_PerHandle);
GrdGetInfo(ContainerHandle, GrdGIL_Model, @Data, SizeOf(Data));
// Вот тут вывести все, что душе угодно, про этот ключ
GrdLogout(ContainerHandle, 0);
end;
Main:
GrdStartup(GrdFMR_Local);
GrdCreateHandle;
GrdSetAccessCodes;
dwFlags := 0; // Найти все
dwType := 0; // Найти все
dwModel := 0; // Найти все
Из параметров командной строки составить dwModel;
Из параметров командной строки составить dwType;
// Поиск ключей
RCode := GrdSetFindMode(ContainerHandle, GrdFMR_Local,
dwFlags,
0, 0, 0, 0, 0,
dwType,
dwModel,
GrdFMI_USB);
Grd_ErrorHandler(RCode);
DongleCnt := 0;
RCode := GrdFind(ContainerHandle, GrdF_First, @dwID, @GrdFindInfo);
while (RCode = GrdE_OK) and (DongleCnt < 255) do
begin
inc(DongleCnt);
IDs[DongleCnt - 1] := dwID;
RCode := GrdFind(ContainerHandle, GrdF_Next, @dwID, @GrdFindInfo);
end;
// Информация по каждому ключу
for i := 0 to DongleCnt - 1 do
ReportDongle(ContainerHandle, IDs(i));
end.
Еще такой момент: как реализовать или где можно найти утилитку, которая при изъятии ключа запустила, скажем, exe-файл.
Это уже не сюда. Но такие программы есть. Вспомню, скажу.
IMT, Спасибо!!!!
Fess пишет:если дадите подсказку как реализовать, буду премногоблагодарен
Возможно тут будет полезна консольная утилита диагностики электронных ключей - chknsk.
вот бы еще найти эту библиотеку "GrdAPI.h"
вот бы еще найти эту библиотеку "GrdAPI.h"
Искать особо ненужно, находится в составе установленного Guardant SDK, в папке Include (директория "по умолчанию": %Program Files%\Guardant\SDK7\Include).
IMT, Спасибо!!!!
Пожалуйста. Да, забыл сказать, что это я дал не код, а сценарий. на каждом шагу проверка кодов возврата функций ОБЯЗАТЕЛЬНА. Все нужно правильно оболочь в try и добавить корректное завершение работы.
Fess пишет:вот бы еще найти эту библиотеку "GrdAPI.h"
Искать особо ненужно, находится в составе установленного Guardant SDK, в папке Include (директория "по умолчанию": %Program Files%\Guardant\SDK7\Include).
благодарю, библиотеку подключил. Вот только при компиляции исходника chknsk.c вылетает ошибка необъявленного идентификатора GrdDT_LoadableCode
благодарю, библиотеку подключил. Вот только при компиляции исходника chknsk.c вылетает ошибка необъявленного идентификатора GrdDT_LoadableCode
Убедитесь что к проекту подключен правильный заголовочный файл grdapi.h, такой идентификатор там есть, в чем можно легко убедиться открыв данный файл.
А в целом утилита "chknsk" тут скорее более полезна в качестве примера реализации.
да, действительно отсутствует. Может быть Вы поделитесь ссылкой, где можно скачать? либо выслать на почту?
ну или на крайний случай строку объявления сюда запостить?
где можно найти утилитку, которая при изъятии ключа запустила, скажем, exe-файл.
Вспомнил.
Отличительной особенностью USB Safely Remove от других подобных программ является способность запускать любые приложения перед извлечением устройства, а не только после его подключения.
Ссылку не даю, нагуглите.
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Форум Guardant → Техподдержка пользователей электронных ключей → узнать ID ключа