|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 29
|
||||||
Отслеживание закрытия файла процессом, запущенным через CreateProcess23.07.2015, 18:18. Показов 7647. Ответов 49
Метки нет (Все метки)
Доброго времени суток!
Возникла нетривиальная(на мой взгляд) задачка: Открываем какой нибудь файл через какую нибудь программу(условно говоря file.docx с помощью MS Word) и нужно отследить закрытие этого файла. Запуск осуществляю с помощью CreateProcess, а именно:
Но есть одно но. Если при этом будет запущен ещё какой либо файл (например something.docx), то он запустится в том же процессе и в таком случае при закрытии отслеживаемого файла, процесс останется. И я не смогу своевременно отреагировать на его закрытие Вопрос в том можно ли как то отследить закрытие конкретного файла в программе?? Или же можно запустить процесс выполнения программы так, что бы при выполнении других файлов такого типа, они выполнялись в другом процессе?? Помогите пожалуйста(
0
|
||||||
| 23.07.2015, 18:18 | |
|
Ответы с готовыми решениями:
49
Как дождаться закрытия файла другим процессом/потоком Получить список dll, используемых запущенным процессом Отслеживание создания файлов чужим процессом |
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 29
|
|||
| 10.09.2015, 12:09 [ТС] | |||
|
MS Word 2013 (15.0.4569.1504) MSO (15.0.4569.1506) 32-разрядная версия
0
|
|||
|
Ушел с форума
|
|
| 10.09.2015, 14:37 | |
|
Какие-то высосанные из пальца проблемы, чес-слово !..
Стартовый адрес удаленного потока известен - это LoadLibraryW, так в чем проблема ? После запуска Office цепляйся к нему отладчиком, ставь брейкпоинт на эту функцию, а затем запускай CreateRemoteThread. Когда загрузится dll, можно поставить второй брейкпоинт на DllMain и выполнить ее в пошаговом режиме. Второй вариант: выполнить этот тест на виртуальной машине с подключенным отладчиком ядра, вместо MessageBox используя OutputDebugString/DbgPrint. Весь вывод пойдет в окно отладчика. Такие "трудности" решаются минуты за 3.
0
|
|
|
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
|
||
| 10.09.2015, 19:44 | ||
|
Другой вопрос, никак ни вникну (пытаюсь понять, со-вчерашнего дня...), что Человеку нужно, что соорудить требуется? (если можно доступным языком) Добавлено через 16 минут Но в другом случае, понял разумеется, но все-таки, ведь перехватов великое множество (т.е. способов), а-вы, Убеждённый, вскользь говорите, можно было и конкретный пример показать. Добавлено через 2 минуты у меня нет подобного примера, точнее есть, но на мой взгляд - Ваш будет безупречней! Добавлено через 2 часа 2 минуты Ни в обиду, но истинный Спец - всегда даст знать Нубу, в другом случае псевдо-Гуру-обманщик... Я постараюсь, осуществить сто/процентный пример, но - когда допью ( некоторую ёмкость ). Добавлено через 12 минут Спасибо - всем, что помните обо мне, спасибо, за-спонсорскую Атаку, много ни перечисляйте, а-то я умру от вина ( спасибо и знайте, всё что делается - это дпя ВАС, просто передаю опыт, в освоении которого, Вы проскочите лишнее Шаги )
0
|
||
|
Ушел с форума
|
|
| 10.09.2015, 19:45 | |
|
Мой пример (если бы я его захотел написать) не сильно отличался бы от того,
как смастерил AdamWest, только я понаставлю проверку ошибок на каждом шагу, а вместо fprintf использую обертку над OutputDebugString.
1
|
|
|
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
|
|
| 10.09.2015, 19:56 | |
|
Убежденный, мы не знакомы - поэтому я не могу сказать вам, -хм... одним словом прекрасно вас понимаю, наверное - я ни очень связан с жизненными обстоятельствами, да-и вообще, не считаю, что передача какой-то информации - может применить. Да, само-собой, применить можно, но и вы - Убеждённый, не забывайте, что здесь ни Технический форум и ни-очень круто, просто - подсказываем ( проводим Своё время - все-равно, лучше, чем у TV ), а-поэтому, нет упреков, но мне ( лично ) ни жаль, с Точки Зрения ( как-бы ) ни открывать "секретов". Думаю, Вы, меня понимаете. Поэтому - мне хочется, чтобы с нашей поддержки, т.е. Русских людей, которые имеют какой=либо Опыт - передать - молодым.
thx!
0
|
|
|
Ушел с форума
|
|
| 10.09.2015, 20:00 | |
|
Shvonder, я стараюсь это и делать - делиться опытом.
Т.е. объяснять идеи, которые лежат в основе того или иного кода, приводить ссылки на MSDN и другие источники, где человек может (если захочет) узнать больше по этой теме. А тупо писать за других код, который потом будут копи-пастить бездумно куда ни попадя - это не "делиться опытом".
3
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 29
|
||
| 11.09.2015, 17:41 [ТС] | ||
|
Первый способ отлова изменений был через ReadDirectoryChangesW (Провалилось из-за разнообразия особенностей генерирования уведомления продуктами MS Office). Второй, это способ описанный здесь. К сожалению мне пока не хватает ума и опыта чтобы довести его до конца. Третий через хэндлы файлов(Пока остановился на нём. Если прототип успешно пройдёт тестирование, то так и оставлю, если нет, буду дальше копать вариант с Dll). P.S. Извиняюсь за оффтоп.
0
|
||
|
|
||||||||||||||
| 12.09.2015, 16:01 | ||||||||||||||
|
Событийная схема. Код таков (читайте комментарии):
Доступ к шаблону можно получить из-под любого открытого документа по нажатию ALT+F11, далее -> Перед закрытием любого документа после актуализации файла будет отправлено сообщение WM_COPYDATA. Пример принимающей стороны:
Подробнее - в форум по VBA. Единственной проблемой здесь окажется стандартная политика безопасности (автоматическое отключение неподписанных макросов). Здесь есть 2 решение: 1) отключить запрос на подтверждение запуска неподписанных макросов, что повлечет в целом понижение уровня безопасности системы в целом. Скриптом. Вручную. 2) подписать шаблон с макросом. Собственно, саму подпись можно изготовить самому средствами самого же офиса. Это делается просто, хотя я сам никогда этим не пользовался. Уточните на спец. форуме, если будет необходимость.
1
|
||||||||||||||
|
Ушел с форума
|
|||
| 12.09.2015, 16:21 | |||
|
пайп в другой процесс (который запущен в обычном режиме), то нужно выполнить два условия: 1. Пайп должен создаваться на стороне сервера, то есть, во втором процессе, так как процесс с Untrusted Integrity не может создавать такие объекты. 2. Чтобы из хромовского процесса можно было достучаться до этого сервера, пайп должен быть создан с дескриптором безопасности, у которого в SACL прописано "Integrity Level = Untrusted". Тогда будет работать. Для теста можно использовать такой Security Descriptor: D:P(A;;GA;;;WD)S(ML;;NW;;;S-1-16-0)
1
|
|||
|
|
|
| 12.09.2015, 17:35 | |
|
Спасибо. Как-то забыл поток испробовать.
И да действительно, Process Explorer для большинства процессов хрома показывает Untrusted IL. А при внедрении в те, у которых уровень IL выше, по крайней мере создается переменная окружения. По сути да, сильно урезанные права. А вот кстати, у обсуждаемого Word IL - средний.
0
|
|
| 12.09.2015, 17:35 | |
|
Отслеживание закрытия программы.
Отслеживание закрытия диалога Отслеживание закрытия стороннего приложения Отслеживание закрытия формы javafx Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|