![]() |
Запуск консольных утилит в Windows в режиме background
Другими словами. возможно ли отвязать утилиту от консоли. если да то как? Или должа быть поддержка работы в этом режиме в самой утилите? :)
|
давно хотел узнать а что-такое консоль, а то может я ее по другому называю
|
нарно можно, наприсав самому интерпретатор команд и собственный интерфейс
|
Цитата:
|
Цитата:
|
Это надо. чтобы во время работы проги консольное окно не маячило на рабочем столе. а прога работала в фоновом режиме.
|
Цитата:
|
Цитата:
|
Ну вобщем то да. есть утилиты. котоым при запуске назначаются флаги ее работы. в том чистле и флаги "отвяза" от консоли. чтобы консоль была свободна и сами проги работали в фоновом режиме.В Этой же проге задается только один параметр - параметр запуска. при закрытии окна соответственно прога завершает свою работу. ни хелпа. ни каких либо инструкций я не обнаружил. значит прога не поддерживает данный режим. Вот я и спросил может есть какие то команды в самой командной оболочке для этих нужд или ПО сторонних разработчиков.
|
Часом не 3proxy? ; )
|
Нет :)
|
Интересный кстати вопрос.
Как вариант можно попробовать это приложение сделать службой. |
Мысль кстати
|
как успехи?
|
Успехи как и ожидалось. тоже самое. что записать прогу в авторан. вываливается при запуске службы в консольное окно и все тут :(
|
а на чём пробовал то?
|
Всмысле на чем. на винде
|
я имел ввиду на какой утилите
|
Думаю - самый правильный подход - сделать программу службой сделать это не так трудно, как считается, для этого необходимо скачать определенный пакет утилит, называемый srvany. пакет состоит из двух утилит INSTSRV.EXE и SRVANY.EXE. И приложен к посту.
Для начала необходимо скопировать эти файлы в системную директорию %windir%/system32. Затем необходимо запустить файл SRVANY.EXE из командной строки, используя следующий синтаксис: "Instsrv ServiceName %windir%\srvany.exe", Где ServiceName - придуманное имя сервиса. Если всё сделано правильно, то появится сообщение, подтверждающее успешное создание сервиса (The service was successfuly added). Теперь зайдите в Администрирование - Службы (Services). Находите только что созданную службу, двойной клик вызывает свойства сервиса. На первой вкладке можно выбрать параметры запуска - Automatic (автоматически при загрузке компьютера), Manual (Вручную) и Disabled (отключено). Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом). Пока всё. Следующим шагом является редактирование реестра. Запускаем редактор реестра Regedit. (Если не знаете, как прочитайте здесь). Шагаем к ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\ и находим имя сервиса здесь. Создаем раздел "Parameters" (без кавычек) и в этом разделе прописываем путь к программе, которую мы хотим запустить, следующим образом: Строковой параметр: "Application" значение - путь к программе (c:\ file.exe). ВСЁ. Ниже представлен отрывок из экспортированного файла моего сервиса (Apox), который автоматически запускает одну из серий Масяни. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\apox] "Type"=dword:00000110 "Start"=dword:00000004 "ErrorControl"=dword:00000001 "ImagePath"=hex(2):63,00,3a,00,5c,00,77,00,69,00,6 e,00,64,00,6f,00,77,00,73,00,\ 5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32 ,00,5c,00,73,00,72,00,76,\ 00,61,00,6e,00,79,00,2e,00,65,00,78,00,65,00,00,00 "DisplayName"="apox" "ObjectName"="LocalSystem" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\apox\parameters] "Application"="C:\masyana.exe" Запустить сервис, если он не отключен, можно несколькими способами, во-первых через командную строку: Net Start ServiceName - где SеrviceName - имя Вашего сервиса. И другим способом - непосредственно через апплет административной панели - службы. Хорошо, сервис установлен, запущен, а как же его удалить ведь стандартным Delete не обойдешься. Сначала сервис необходимо остановить: net stop ServiceName, затем опять же в коммандной строке выполняем команду INSTSRV MyService remove. После пары ошибок (не уследил за ковычками :) ) у менязаработла в бэкграунде программа, которая очень тяжело хотела так работать, в моём случаем мне нужно было создавать бэкапы БД на сервере без логона пользователя - всё прошло. P.S. упс - не посмотрел на дату до предыдущего поста, который я удалил как не имеющий смысла :) разговор то оказывается давний, но может всё равно кому пригодится. |
| Часовой пояс GMT +3, время: 06:45. |
Powered by vBulletin® Version 3.8.11 PL4;
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd;
Оператор обработки ПДн - ИП Алексеев А.С.;
ИНН: 333411310227; ОГРН: 307333419200050;
тел. +7 (4922) 49-42-22, legal@smalta.net