Интересно, как можно отследить это ??? Если допустим юзер тыкает на txt файл 2 раза, как можно получить путь до этого файла ?
MrMiXeR Перехватить запуск приложения по умолчанию для просмотра файлов типа "txt" и посмотреть в его коммандную строку.
Приложение находится по ключу реестра. Дальше перехватывается ZwCreateProcess, ZwCreateProcessEx, смотрим на стуктуру OBJECT_ATTRIBUTES, делаем выводы... Ненене...лучше не так. Лучше, все-таки, перехватить NtCreateFile и проверять расширение... Блин, уточнил бы ТЗ. Для каких целей тебе это нужно? В зависимости от этого будем искать решение..
понимаешь, если перехватывать ntcreatefile, есть одно НО ! Моя программа тоже создает файлы с рандомными именами это получается я и их буду перехватывать
мне интересно, как подхватить системный загрузчик, с помошью какой команды винда определяет тип файла и соответствено производит запуск ассоциированной с файлом программы. Перехватив думаю эту комманду было бы гемора меньше
MrMiXeR Эксплоеру посылается собщение, он его обрабатывает, чешет в реестр, создает процесс с заданной коммандной строкой. Что ты собрался тут перехватывать? Сообщение? Ну хз...я пас.
int2e Точно! Считывать коммндлайн и запускать то, которое было по этому ключу ранее. Так проще всего.
GoldFinch Та нее.. pBuff = GetCommandLine(); printf(pBuff); CreateProcess("notepad.exe", pBuff, ... );
да проще всё. заменяем это приложение на своё и смотрим параметры зпуска. если наш файл-> делаем что то... как ужу нераз сказали тут) прочитал первые посты и не сдержался=)