Возможно ли найти название процесса по его описанию? Если возможно, подкиньте, пожалуйста, пример. Нужно найти название и завершить с помощью уже имеющейся функции.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Давать готовый код - не интересно. Подскажу лучше. Для начала тебе нужно вызвать функцию [Ссылки могут видеть только зарегистрированные пользователи. ] или же [Ссылки могут видеть только зарегистрированные пользователи. ], тут всё зависит от степени извращённости Для того, чтобы вызвать эту функцию, тебе нужно получить размер этой самой VersionInfo. Делается это функциями [Ссылки могут видеть только зарегистрированные пользователи. ] или [Ссылки могут видеть только зарегистрированные пользователи. ] соответственно. Естественно, нужно каждый раз проверять сработала ли функция нормально, ну с этим уж думаю сам разберёшься, там условие в зависимости от типа возвращаемого функцией значения. Далее, чтобы получить саму VersionInfo надо вызвать функцию [Ссылки могут видеть только зарегистрированные пользователи. ]. Тебе нужно прочесть блок [Ссылки могут видеть только зарегистрированные пользователи. ], но чтобы его прочесть надо сначала прочесть блок [Ссылки могут видеть только зарегистрированные пользователи. ], достав от туда langID и charsetID (Оба можешь типизировать, как hex (%x) с точностью 4, ну это если ты функцию Format будешь использовать). Предыдущая реплика сложна в понимании, по этому кусочек кода:
Где buf - значение, полученное функцией GetFileVersionInfo или GetFileVersionInfoEx, p - нетипизированный указатель, l - значение, полученное функцией GetFileVersionInfoSize или GetFileVersionInfoSizeEx. Естественно, к вышеприведённому коду тоже не помешает прицепить условие проверки правильности выполнения функции. Ну и после этого p нужно типизировать, как именно я дал подсказку выше.
Далее уже типизированное значение подставляешь в VerQueryValue для считки полей StringFileInfo. Пример:
В примере считывается поле FileDescription, lg - прежде типизированные langID и charsetID, s - строка.
Ну вот в s ты и получишь описание процесса. При желании можешь все поля блока считать. И да, чуть не забыл, проверку на правильность выполнения функции прицепить не мешало бы. Ну так вроде всё. Надеюсь, чего-то поймёшь
Добавлено через 19 минут
Ну я надеюсь, что то, что всё вышеописанное надо завернуть в функцию, которая будет принимать путь к файлу и отдавать описание, ты догадаешься. Путь к файлу можно выцепить из снапшота модулей процесса. Ну а дальше всё просто же.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Как я буду вызывать GetFileVersionInfo, если FileName мне неизвестен?
Ну так перебери в цикле по снапшоту все процессы, по другому никак.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
VeTaL_UA, Разобрался, спасибо, в будущем буду знать в какую сторону копать по процессам и информации о файлах.
Да не за что, приятно помогать человеку, желающему самому разобраться, а не юзать готовый код
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).