Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 19:36   #1
vlad_07
 
Регистрация: 03.12.2013
Сообщений: 4
По умолчанию API

Здравствуйте, коллеги!
Нужна подсказка в такой проблеме: запущен процесс ("Access"), известен его pid. Для этого процесса есть дочернее окно, в котором открыта локальная база ttt.mde. Хэндл этого окна известен. Вопрос : какими api-шными функциями добраться до командной строки, с помощью которой открыта база ttt.mde?
vlad_07 вне форума Ответить с цитированием
Старый 03.12.2013, 21:56   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Никогда такого не делал, но вот вроде то, что надо
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
waleri вне форума Ответить с цитированием
Старый 03.12.2013, 23:47   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Если я правильно понял вопрос - http://stackoverflow.com/questions/6...ine-in-windows
Son Of Pain вне форума Ответить с цитированием
Старый 04.12.2013, 12:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Интересно, зачем это понадобилось...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2013, 15:50   #5
vlad_07
 
Регистрация: 03.12.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Интересно, зачем это понадобилось...
По требованию заказчика необходимо проверять версии по. Есть dll-ка, к которой обращаются запускаемые проги на предмет проверки прав на запуск и другие разрешения. В dll-ке по коду задачи я определяю exe-шник, его полное имя (путь), а далее считывается номер версии, дата, размер файла и эти данные сравниваются с эталоном (что должно быть). Если че-то не совпадает : сообщение об этом, регистрация в логе и т.д. Для exe-шников я все это сделал, но, есть 2 проги написанные на Access (за это нас заказчик ругает давно, но воз и ныне там). Так вот, чтоб проверить дату и размер (версии в файлах типа *.mdb, *.mde нет), надо знать путь их запуска. А их запускает msaccess.exe, но, в строке параметров указывается полный путь к нужному мне файлу ttt.mde. Вот поэтому мне и надо как-то достучаться до этой строки параметров.
vlad_07 вне форума Ответить с цитированием
Старый 04.12.2013, 16:28   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А сама версия выводится в каком-то текстовом поле? Оттуда ты и хочешь его подцепить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2013, 16:28   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Можно получить через NtQueryInformationProcess, там ищем PEB структуру.
Человек_Борща вне форума Ответить с цитированием
Старый 04.12.2013, 16:48   #8
vlad_07
 
Регистрация: 03.12.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А сама версия выводится в каком-то текстовом поле? Оттуда ты и хочешь его подцепить?
Если в проводнике кликнуть правой кнопкой по файлу exe-шника, версия видна в формате, например, 4.2.0.51. Это же значение определяется api-шной функцией GetFileVersionInfo. Если определен путь к файлу, то версия (там, где она есть), размер файла, дата последней корректировки, эти параметры определяются просто - по pid процесса.
Начальник соседнего отдела предлагает проверять жестко путь, куда обычно устанавливаются все наши проги - C:\Programm Files\..., но, это плохой вариант - если инсталлировали проги в другое место, а если кто-то из спецов заказчика запустил 3 версии (одна из Programm Files, а 2 других из разных мест), и все они разные?
Конкретной реализации у меня пока нет, ищу, пробую.

Последний раз редактировалось vlad_07; 04.12.2013 в 18:08.
vlad_07 вне форума Ответить с цитированием
Старый 04.12.2013, 18:49   #9
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

так может это поможет?
counter вне форума Ответить с цитированием
Старый 04.12.2013, 21:44   #10
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

т. е. если я запущу аксес, нажму в нем file -> open и выберу там нужную mdb, твоя защита на этом сломается, верно? )

Тогда уж лучше достучаться до него по com, и запросить имя открытого документа.
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vk api 4ipolino Работа с сетью в Delphi 4 31.08.2013 17:13
API Taup Win Api 3 07.12.2012 09:36
API TotKtoNado Win Api 8 05.08.2011 07:06
Cи++ API Taracan Фриланс 24 24.07.2011 15:36
VK API Furyon JavaScript, Ajax 0 15.05.2011 17:44