Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Ситуация: прога запускается через контекстное меню проводника и в качестве $Command получает имя файла. Подскажите пожалуйста как быть если файлов было выбрано несколько (соответственно будет запущено несколько копий программы), но при этом требуется обработать их по очереди в одном процессе, кот. не был запущен (для экономии ресурсов) и должен быть убит после окончания обработки файлов? Надеюсь изложил более - менее понятно :) Спасибо за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 23:00 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
Первое, что приходит в голову. Прога при запуске дописывает полученный параметр в специальный файлик, опосля чего через FindWindow ищет запущенный экземпляр самой себя. Если находит - закрывается. Если не находит начинает обрабатывать файлик, удаляя оттуда записи по мере их обработки и каждый раз проверяя, не появилось ли там что-нибудь еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 23:05 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, В принципе тоже вариант. А вот что я придумал: допустим у нас есть 2 программы. Назовем их Clnt и Srv. Clnt запускается проводником с именем файла в качестве команды. Далее Clnt записывает полученную команду в реестр, после чего ищет среди запущеных процессов Srv (например по имени .EXE), если не находит - запускает, если находит - END. Srv проверяет не был ли он уже запущен. Если да, то закрывается, если нет, то читает из реестра записанные туда команды и обрабатывает их. После того, как все они обработаны Srv ещё немного висит в ожидании новых команд и если не получает их, то закрывается. Нормально или лучше сделать как Вы посоветовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2010, 00:10 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
да, в общем, это то же самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2010, 00:14 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
Реестр, файлы... нафиг-нафиг-нафиг. Программа при старте пытается открыть соединение с localhost:someport. Если смогла, кидает туда команду и завершается. Если не смогла, запускает вторую нитку которая открывает серверный сокет на someport и ждет команд. А главная нить в это время обрабатывает стартовую команду. По завершению спрашивает у дочерней нити есть ли там какие команды в очереди - и если есть начинает их обрабатывать. Если дочка отвечает что команд нет - все закрывается. А если по уму, то надо думать над дизайном прежде чем начинать кодить и почитать вот тут: // http://msdn.microsoft.com/en-us/library/cc144067%28VS.85%29.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2010, 01:57 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
автор (соответственно будет запущено несколько копий программы) Может передавать в качестве аргументов список файлов? Правда я не знаю как это сделать через виндовские возможности так как работаю исключительно через Total Commander, а там это просто:Ctrl+Enter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2010, 09:02 |
|
||
|
Обработка команд в одном процессе
|
|||
|---|---|---|---|
|
#18+
White OwlПрограмма при старте пытается открыть соединение с localhost:someport. Если смогла, кидает туда команду и завершается. Если не смогла, запускает вторую нитку которая открывает серверный сокет на someport и ждет команд. А главная нить в это время обрабатывает стартовую команду. По завершению спрашивает у дочерней нити есть ли там какие команды в очереди - и если есть начинает их обрабатывать. Если дочка отвечает что команд нет - все закрывается. Честно говоря сложновато White Owlнад дизайном прежде чем начинать кодить Я этим и занимаюсь White Owlпочитать вот тут: http://msdn.microsoft.com/en-us/library/cc144067%28VS.85%29.aspx А это можно реализовать на VB6? alex77755Может передавать в качестве аргументов список файлов? Да. Было бы неплохо. Возможно COM как раз и предоставляет такие возможности alex77755Правда я не знаю как это сделать Такая же фигня :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2010, 17:24 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36916406&tid=2159328]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 143ms |

| 0 / 0 |
