| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Start programmi |
| Автор: Joh 21.3.2006, 17:09 |
| 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) |
| Автор: Earnest 21.3.2006, 17:54 |
| Модератор: Joh, пользуйся транслитом (галка такая слева есть) По сути вопроса: Какое сообщение посылается - известно, надеюсь? Кому оно посылается? Если это сообщение посылается как вещательное (HWND_BROADCAST), то можно просто поставить его обработчик в своем главном окне. Если нет (какому-то конкретному окну) - ставь хук на все процессы (т.к. твой "левый" еще не запущен). |
| Автор: Joh 21.3.2006, 18:52 |
| o, супер функция однако етот транслит Earnest спасибо за быстрий ответ, толъко я ничего не понял блин пока правилъную букву найдешъ !!! мягкий знак не могу найти , поетому (перевернутую букву е тоже) пишу с твердым знаком на десктопе естъ icon при нажатии которого (double_click) стартует программа. мне нужно каждый раз при старте етой программи проверит, сколъко sessions уже сушествуют на данный момент. если их число превышает допустим 25, то ета программа не должна бытъ происведена... |
| Автор: Athlon 21.3.2006, 23:24 | ||||
Рихтер предлагает для этого использовать именованные объекты ядра, например "левая программа" создает такой объект, а твоя при старте проверяет наличие такого объекта:
Sorry поторопился с ответом, этот вариант хорош если нужно чтобы запускалась только одна копия прграммы, можно конечно по извращаться..... |
| Автор: Fin 22.3.2006, 00:48 |
| Athlon, Скорее всего, программа не писана автором вопроса и исходников естественно нет. Можно сделать свою прогу-оболочку и линк на Десктопе повесить на нее. В самой проге проверять количество запусков и при выполнении условий запускать уже ту левую прогу. |
| Автор: Fin 22.3.2006, 16:28 |
| В винде ХР сушествует механизм внедрения во все абсолютно запускаемые процессы своей Dll. Нужно только выставить ключ в реестре. В своей Dll проверять, соответствует ли данный файл условиям. Ну и при несоответствии вырубать процесс. |