Страница 1 из 1
Программа автоматизации процессов на FreePascal
Добавлено: 03.02.2019 20:29:11
Facox
Доброго времени гоcпода и дамы

Только познаю Free Pascal и как один из вариантов полезного обучения выбрал для себя задачу создания программы, которая сможет автоматизировать некоторые процессы. Прошу совета, как составить тело программы для решения пока такой задачи: запуск набора ранее установленных программ с ключами, часть из которых в фоновом режиме. Программа добавляется в автозагрузку, после старта системы сработает мой exeшник , запустит программы, откроет их и подготовит к работа, а часть отработает в фоновом режиме без запуска черных окон. В целом, как прописать запуск обычных программ я разобрался
ПРИМЕР
Код: Выделить всё
program launchprogram;
uses
Classes, SysUtils, Process;
var
AProcess: TProcess;
begin
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'C:\Program Files\1cv83\bin\1cv8.exe» ENTERPRISE /F»D:\database\User» /N»Админ» /P»12345;
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'C:\WORK\dop.bat';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
end.
общее кол-во программ для старта рабочего места 12, некоторые *.bat файлы должны бы запускаться в фоне и не загромождать собой рабочий стол. Вот именно с этим и встал вопрос =\ Прощу помощи, как реализоваться эту функцию. Можно как и через какую либо фишку для запуска bat, так и внесения строчки запуска в код программы.
За ранее спасибо. =)
Re: Программа автоматизации процессов на FreePascal
Добавлено: 03.02.2019 22:40:21
Лекс Айрин
Facox, а что мешает запускать программы без запуска bat файла напрямую? Это же делается точно так же.
Плюс, плохим тоном будет запуск программ без какого-либо диагностического выхлопа. Ну и возможности их завершить.
Re: Программа автоматизации процессов на FreePascal
Добавлено: 04.02.2019 18:30:37
Facox
Проблему на данный момент решил через PowerShell. Теперь почему не удобно без бата - на рабочем столе придется создать десяток ярлыков в которые будет прописана программа и ключи ( как в случае 1С ), пользователи в силу возраста не желают начинать рабочий день с кликов всеех ярлыков, они желают войти в систему, которая сама все запустит. Скрытые программы, это когда не надо перегружать окнами запуска разных облачных дисков и пр.сервисов.
Re: Программа автоматизации процессов на FreePascal
Добавлено: 04.02.2019 19:30:53
zoltanleo
Facox писал(а):часть отработает в фоновом режиме без запуска черных окон.
а чем не угодили cmd-окна?
Re: Программа автоматизации процессов на FreePascal
Добавлено: 04.02.2019 20:43:24
Лекс Айрин
zoltanleo, видимо, не хочет загромождать окнами монитор.
Facox, так ты Лансер делаешь или что? Кто тебе мешает выбрать конфигурацию прямо в запускающейся форме программы, если уж у тебя разные конфигурации? Примерно так, как выбирается тип проекта в самом Лазарусе. Потом настроишь конфигурации и пусть пользуются.
Re: Программа автоматизации процессов на FreePascal
Добавлено: 09.02.2019 13:41:58
Facox
Лекс Айрин прав - мне, а вернее моим конечным пользователям, не нужны эти окна.
О себе: cисдамин с начальными навыками, обслуживаю компанию с юзерами бухгалтерами, помощниками бухгалетеров - тети за 50, для которых утро начинается с кнопки вкл на чайнике и системнике. Через 5 минут, как они повесят свои плащи в гардероб, сбрызнут на себя капли чудных туалетных вод, у них должен быть готов кофе вместе с рабочим окружением. И вот ничего личшнего

Учитывая наше местоположение в 300 метрах по улице друг от друга, и изоляцией по просьбе директора от внешнего Мира всей их сети ( только 1 системник имеет выход в Интернет ), ставить отдлеьную точку доступа, сеть и пр - руковод не хочет. Мною было принято решение написать один файл, который запустит все необходимое, пока тети кофе утренний свой пьют. И создать второй файл, который при эксренной ситуации ( ну что то не грузит, пошло не так ), будет запущен тетей, файл опять перепишет себя в автозагрузку, проверит лог ( вот следущий шаг ), выгрузит все в файлю который я потом могу прижти и почитать =) Вот вся идея. Помимо запсука 1С, стартуют прикладные софты ( отличаются ), браузеры, Эксели.
Пишу я все geany, хочу быть ближе к коду, понимая что пишу.
Re: Программа автоматизации процессов на FreePascal
Добавлено: 18.03.2019 20:21:49
Cheb
В гугле забанили?
Первый же поиск по "TProcess hide console window" дал
https://stackoverflow.com/questions/198 ... a-tprocess, где приведено решение:
AProcess.Options := AProcess.Options + [poNoConsole];
Re: Программа автоматизации процессов на FreePascal
Добавлено: 23.03.2019 08:00:01
Python
Кстати да, согласен, в лог информацию очень надо передавать. Вот за пару минуток набросал примерчик, его можно допилить:
Код: Выделить всё
var
AProcess:TProcess;
begin
AProcess := TProcess.Create(nil);
AProcess.Executable := 'cmd';
AProcess.Parameters.Add('/c');
AProcess.Parameters.Add('echo');
AProcess.Parameters.Add('%PATH%');
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes, poNoConsole];
AProcess.Execute;
Memo1.Lines.LoadFromStream(AProcess.Output); // это надо выгрузить в лог
AProcess.Free;
end;
Re: Программа автоматизации процессов на FreePascal
Добавлено: 23.03.2019 20:17:00
wofs
Хм... Стандартный планировщик Windows и экспорт/импорт задачи для простоты настройки n компьютеров с одинаковой конфигурацией?
Есть возможность запускать программы с параметрами, можно запускать софт при запуске системы...
А если нужно какое-то сложное логирование или реакция на проблемы, то Powershell + планировщик. Для логирования, кстати, удобно юзать журнал Windows.
Re: Программа автоматизации процессов на FreePascal
Добавлено: 05.09.2019 21:14:59
Sharfik
wofs писал(а):Хм... Стандартный планировщик Windows и экспорт/импорт задачи для простоты настройки n компьютеров с одинаковой конфигурацией?
Есть возможность запускать программы с параметрами, можно запускать софт при запуске системы...
А если нужно какое-то сложное логирование или реакция на проблемы, то Powershell + планировщик. Для логирования, кстати, удобно юзать журнал Windows.
Браво))
Re: Программа автоматизации процессов на FreePascal
Добавлено: 22.01.2022 01:17:25
sunjob
в стародавние времена... короче, юзаем домен виндовс, все необходимые операции прописываются в одном месте, на сервере, в скрипте, кот. выполняется во время логина в домен... :о)
п.с. это... если правильно понял вопрос... и да... некропост, просто перечитываю интересные темы, возможно кому пригодится :о)