Автор | Сообщение |
|
| постоянный участник
|
Пост N: 2121
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.03.12 13:20. Заголовок: Как предотвратить второй запуск программы в МиниГуи ?
Делаю программу на МиниГуи, типа меню запуска других программ. Хочу вызывать свои доп. ЕХЕ-ники (терминалки на хХарборе) из главного меню программы на МиниГуи. Вызовом ShellExecute(). Как сделать, чтоб повторно нельзя было запускать уже запущенную программу ? Я пока знаю 2 варианте: 1) Можно было бы писать файл-семафора что запущена программа, а при завершении терминалки удалять этот файл. Но это как-то не солидно... И при случайном сбое, нельзя будет запустить программу. 2) Поискать в памяти запущенный процесс (окно с именем). Но это ТОРМОЗА - я уже наталкивался на эти грабли. По России уже наблюдал 3 случая "тормозов" при проверке повторного запуска программы (я писал об этом в другой ветке, здесь на форуме). Какие еще варианты можно использовать ?
|
|
|
Ответов - 27
, стр:
1
2
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 2134
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.12 16:29. Заголовок: Нет не надо так, это..
Нет не надо так, это слишком много. Достаточно типа такого: харбор-переходник для стандартной winapi-функции (см. MSDN) - выводит заданное окно на передний план ! Самое главное здесь (см. MSDN) Я думаю и другие поймут, где дальше искать !
|
|
|
|
| постоянный участник
|
Пост N: 14
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.03.12 16:37. Заголовок: Andrey пишет: не хо..
Andrey пишет: цитата: | не хочется связываться с внешними программами. |
| На мой взгляд, это тот случай, когда можно воспользоваться внешними программами, т.к. по мере обрастания мясом (кодом) основной программы, эти куски спокойно выкидываются - зато времени экономится много. И если в HB и МиниГуи основным является (gfilatov2002 пишет): цитата: | 1) главное руководство для программиста - это исходники библиотеки (см. файл h_controlmisc.prg) 2) см. файл c_windows.c ... |
| Т.е. требуется неплохое знание C, WinApi, ... . А если этого нет, то надо искать альтернативы, пока не накопятся знания по C, WinApi, ... . Повторюсь в AutoIt3 есть хорошая РУССКАЯ документация с примерами. AutoIt в Википедии
|
|
|
|
| постоянный участник
|
Пост N: 2136
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.12 16:47. Заголовок: SergKis пишет: На м..
SergKis пишет: цитата: | На мой взгляд, это тот случай, когда можно воспользоваться внешними программами, т.к. по мере обрастания мясом (кодом) основной программы, эти куски спокойно выкидываются - зато времени экономится много. |
| Ну конечно в чем то вы и правы. Хотя после объяснения gfilatov2002 я понял как мне можно реализовать "свои желания" в данном меню запуска других программ !!! Сделаю самодостаточный пример для других и отправлю его gfilatov2002 !
|
|
|
|
| постоянный участник
|
Пост N: 2137
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.03.12 19:36. Заголовок: Сделал самодостаточн..
|
|
|
|
| |
Пост N: 1
Зарегистрирован: 05.04.12
|
|
Отправлено: 10.04.12 11:39. Заголовок: Andrey пишет: Сдела..
Andrey пишет: Файл не найден.
|
|
|
|
| moderator
|
Пост N: 367
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.04.12 14:35. Заголовок: Andrey пишет: Сдела..
Andrey пишет: цитата: | Сделал самодостаточный пример |
| Этот пример будет доступен в следующей сборке библиотеки Минингуи
|
|
|
|
| постоянный участник
|
Пост N: 2161
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.04.12 22:16. Заголовок: busiki пишет: Файл ..
|
|
|
Ответов - 27
, стр:
1
2
All
[только новые]
|
|