![]() |
|
|
![]()
|
|
| Joh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.2.2005 Где: Germany Репутация: нет Всего: нет |
Privet vsem!
takoj wopros: kak moshno Message pojmat, kotoraja budet poslana pri starte odnoj levoj programmi? nado proverit pered startom odim parametr. Esli uslovie =False startuj programmu, esli True togda schtoto vrode Messagebox vidat... (w2k, mogu tolko winapi/ MFC ne mogu) Это сообщение отредактировал(а) Joh - 21.3.2006, 17:20 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Модератор: Joh, пользуйся транслитом (галка такая слева есть)
По сути вопроса: Какое сообщение посылается - известно, надеюсь? Кому оно посылается? Если это сообщение посылается как вещательное (HWND_BROADCAST), то можно просто поставить его обработчик в своем главном окне. Если нет (какому-то конкретному окну) - ставь хук на все процессы (т.к. твой "левый" еще не запущен). -------------------- ... |
|||
|
||||
| Joh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.2.2005 Где: Germany Репутация: нет Всего: нет |
o, супер функция однако етот транслит
Earnest спасибо за быстрий ответ, толъко я ничего не понял блин пока правилъную букву найдешъ !!! мягкий знак не могу найти , поетому (перевернутую букву е тоже) пишу с твердым знаком на десктопе естъ icon при нажатии которого (double_click) стартует программа. мне нужно каждый раз при старте етой программи проверит, сколъко sessions уже сушествуют на данный момент. если их число превышает допустим 25, то ета программа не должна бытъ происведена... |
|||
|
||||
| Athlon |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 15.1.2006 Где: Украина:: Запорож ье Репутация: нет Всего: нет |
Рихтер предлагает для этого использовать именованные объекты ядра, например "левая программа" создает такой объект, а твоя при старте проверяет наличие такого объекта:
Sorry поторопился с ответом, этот вариант хорош если нужно чтобы запускалась только одна копия прграммы, можно конечно по извращаться..... Это сообщение отредактировал(а) Athlon - 22.3.2006, 00:35 |
||||
|
|||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Athlon, Скорее всего, программа не писана автором вопроса и исходников естественно нет. Можно сделать свою прогу-оболочку и линк на Десктопе повесить на нее. В самой проге проверять количество запусков и при выполнении условий запускать уже ту левую прогу.
-------------------- Пролетал мимо. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Для запуска нескольких копий мьютекс просто заменяется на семафор... Fin, из вопроса действительно непонятно, есть ли какой-то механизм в "левой" программе. Если она совсем "левая", то предложенный тобою способ все-таки оставляет возможность запустить ее прямо, помимо всякой оболочки. Я думаю, и в этом случае можно написать какой-нибудь монитор, который будет следить за открытием процессов... Joh, если тебе действительно нужно следить за открытием чужой программы, то пошарь по форуму. Кажется похожие темы обсуждались. -------------------- ... |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
В винде ХР сушествует механизм внедрения во все абсолютно запускаемые процессы своей Dll. Нужно только выставить ключ в реестре. В своей Dll проверять, соответствует ли данный файл условиям. Ну и при несоответствии вырубать процесс.
-------------------- Пролетал мимо. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |