Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/56: Рейтинг темы: голосов - 56, средняя оценка - 5.00
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12

Запуск программы от системы?

06.06.2012, 21:37. Показов 11991. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли сделать так что бы программа запускалась не от пользователя Активного а от системы?
 Комментарий модератора 
Правила: один вопрос - одна тема.
Часть сообщения перемещена в новую тему:
Перевести программу на 64-битную основу


Добавлено через 8 минут

Не по теме:

Ну спасибо, а то вот тему опять создавать лень было:)

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2012, 21:37
Ответы с готовыми решениями:

Запуск программы от имени системы
Добрый вечер. Я не знаю, туда ли я обратился, но рискну задать интересующий вопрос. Мне нужно запустить программу .exe от имени системы....

Запуск программы при запуске системы
ННаписал напоминалку себе, которая при запуске сворачивается в трей и выскакивает после 20 минут со звуком и сообщением. так вот, надо мне,...

Запуск программы вместе с запуском системы
Помогите, пожалуйста. Пишу программу, мне нужно, чтобы программа запускалась вместе с запуском системы, а настройки сохранялись при выходе...

50
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.06.2012, 21:39
Может, не от системы, а от администратора?
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
06.06.2012, 21:42
Цитата Сообщение от LK Посмотреть сообщение
Может, не от системы, а от администратора?
нет, именно от системы... есть такая возможность, но я как не программист тут особо советов не даю...

Не по теме:

мало ли, программными методами надо, а я лоханусь... обидно... ;)

0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 21:47  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Может, не от системы, а от администратора?
У меня имя профиля "123"
В диспетчере задач программы запусченные под моим профелем получаються так

А запущеные от системы так(Как мне и нужно)

А запуск от администратора этого не сделает.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.06.2012, 21:53
Вы хотите запустить сервис?
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
06.06.2012, 21:57
Запуск *.exe от имени SYSTEM
Составь коммандный файл, что бы каждый раз не вводить время, например как мой для запуска FAR'а

:: SysFar.cmd
@echo off
set m=%time:~3,2%
set h=%time:~0,2%
if %m:~0,1% equ 0 set m=%m:~1,1%
if %h:~0,1% equ 0 set h=%h:~1,1%
set /a m+=1
if %m% equ 60 set m=0 && set /a h+=1
if %h% equ 24 set h=0
at %h%:%m% /interactive "%programfiles%\far\far.exe" C:\ D:\
как то так...

Добавлено через 2 минуты
для запуска *.exe как службы использовать sc.exe
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 22:08  [ТС]
Цитата Сообщение от magirus Посмотреть сообщение
Запуск *.exe от имени SYSTEM

как то так...

Добавлено через 2 минуты
для запуска *.exe как службы использовать sc.exe
Я с этим не знаком, в чём это пишеться?
По каким критериям?

Сбрось мне код по моему примеру.
К примеру, путь к моему файлу
C++
1
"cheat/svchost.exe"
Только мне нужно получить файл *.exe.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
06.06.2012, 22:18
Цитата Сообщение от ivan.-94 Посмотреть сообщение
в чём это пишеться?
это уже все написано.
ссылку я дал. читайте хелп.

Добавлено через 47 секунд
если вам нужно чисто средствами С++ - не ко мне, почему- я писал выше.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 22:20  [ТС]
Цитата Сообщение от magirus Посмотреть сообщение
это уже все написано.
ссылку я дал. читайте хелп.

Добавлено через 47 секунд
если вам нужно чисто средствами С++ - не ко мне, почему- я писал выше.
А нельзя не используя посторонних программ написать так на с++?
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
06.06.2012, 22:24
я не программист, поэтому не скажу, не потому что партизан, а потому что не знаю... способы известные мне как админу я написал.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 22:28  [ТС]
Цитата Сообщение от magirus Посмотреть сообщение
я не программист, поэтому не скажу, не потому что партизан, а потому что не знаю... способы известные мне как админу я написал.
Спасибо но этот способ меня не удовлетворяет
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.06.2012, 22:29
Лучший ответ Сообщение было отмечено как решение

Решение

Как работать со службами
Запустить, остановить, настроить.

1. Шаг первый

Подключиться к менеджеру севисов(ServiceControlMenager)
C++
1
2
3
4
5
6
7
SC_HANDLE hSCM = NULL;
DWORD dwAccess=SC_MANAGER_CONNECT;
hSCM = OpenSCManager(NULL /*локальная машина*/,NULL /*текущая база*/,dwAccess);
if(!hSCM){
  //Обработка ошибки
  return;
}
Флаги доступа могут быть комбинированы между собой. Существуют следующие:

SERVICE_START - разрешено запускать сервисы
SERVICE_STOP - разрешено останавливать сервисы
DELETE - разрешено удалять сервисы
SERVICE_CHANGE_CONFIG - разрешено конфигурировать сервисы
SERVICE_ALL_ACCESS - включает полные права доступа
остальные флаги смотрите в документации.

2. Шаг второй

Необходимо получить внутреннее имя сервиса, по внешнему имени (на примере Firebird Server):
C++
1
2
3
4
5
6
7
8
char outName[] = "Firebird Server";
DWORD dwBuff = 256;
char *inName = new char[dwBuff];
 
if(!GetServiceKeyName(hSCM,outName,inName,&dwBuff){
  //Обработка ошибки
  return;
}
Внешнее имя можно посмотреть в консоли управлениями сервисами. Если это ваш сервис, или его внутренне имя вам известно - переходите к следующему шагу.

3. Шаг третий

Подключение к сервису.
C++
1
2
3
4
5
6
SC_HANDLE hService = NULL;
hService = OpenService(hSCM,servName,dwAccess);
if(!hService){
  //Обработка ошибки
  return;
}
Флаги доступа см. выше.

4. Шаг четвертый

Конфигурирование.
C++
1
2
3
4
5
6
7
8
9
10
QUERY_SERVICE_CONFIG* lpQSC;
DWORD dwNeeded;
 
lpQSC = (
QUERY_SERVICE_CONFIG)new char[4096];
if(!QueryServiceConfig(hService,lpQSC,4096,&dwNeeded)){
  //Обработка ошибки
  return;
}
//Обрабатываем полученную инфу
Изменяем конфигурацию - устанавливаем автоматический запуск
C++
1
2
3
4
5
6
7
if(!ChangeServiceConfig(hService,
                        SERVICE_NO_CHANGE,SERVICE_AUTO_START,
                        SERVICE_NO_CHANGE,
                        NULL,NULL,NULL,NULL,NULL,NULL,NULL)){
  //Обработка ошибки
  return;
}
5. Шаг пятый

Остановка сервиса
C++
1
2
3
4
5
SERVICE_STATUS status_service;
if(!ControlService(hService,SERVICE_CONTROL_STOP,&status_service)){
  //Обработка ошибки
  return;
}
6. Шаг шестой

Закрываем все открытые хендлы и освобождаем ресурсы.
7
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 22:38  [ТС]
Можно всё это на примере программы?
Я непонел большую часть.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
06.06.2012, 23:24
Со службами можно несколько проще, с помощью sc, тут примерчик.

Добавлено через 1 минуту
... только стартануть у меня вышло только так: sc start Console. net start не отработал почему-то...
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
06.06.2012, 23:55  [ТС]
Цитата Сообщение от BRcr Посмотреть сообщение
Со службами можно несколько проще, с помощью sc, тут примерчик.

Добавлено через 1 минуту
... только стартануть у меня вышло только так: sc start Console. net start не отработал почему-то...
Я в середине темы писал, что постороннее ПО меня не удовлетворяет!
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
07.06.2012, 00:17
Дело хозяйское, мне-то что...
Только это самый простенький способ запустить процесс под system, три строчки основного кода, по-сути; единственное, что еще нужно - администраторские привилегии, конечно же.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
07.06.2012, 01:47  [ТС]
Цитата Сообщение от BRcr Посмотреть сообщение
Дело хозяйское, мне-то что...
Только это самый простенький способ запустить процесс под system, три строчки основного кода, по-сути; единственное, что еще нужно - администраторские привилегии, конечно же.
Мне нужен 1 *.exe файл что бы я на любой комп збросил и запустил вот и всё.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.06.2012, 01:58
Мне нужен 1 *.exe файл что бы я на любой комп збросил и запустил вот и всё.
Ага ты б еще спросил как написать вирус...
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
07.06.2012, 12:55
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Мне нужен 1 *.exe файл что бы я на любой комп збросил и запустил вот и всё.
And I just want a million dollars!

А вообще не проблема и такое сделать этим способом. Формируем батник, сохраняем его и запускаем, затем завершаем нашу программку.
В батнике ставим немножко таймер и потом создаем службу, запускаем ее. Запускается программка от имени системы, делает, чего надо, а по завершении неплохо бы удалить службу.

В батнике примерно это:
Code
1
2
3
4
5
6
choice /N /T 3 /C 7 /D 7 > NUL
:: prog_path - тут формируем путь к программе, например, с помощью Application->FileName
:: type= interact - это добавляем, если надо с программкой взаимодействовать
sc create my_app_as_service binpath= "prog_path" type= own type= interact
sc start my_app_as_service
pause
1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
07.06.2012, 16:29  [ТС]
Цитата Сообщение от BRcr Посмотреть сообщение
В батнике примерно это:
Code
1
2
3
4
5
6
choice /N /T 3 /C 7 /D 7 > NUL
:: prog_path - тут формируем путь к программе, например, с помощью Application->FileName
:: type= interact - это добавляем, если надо с программкой взаимодействовать
sc create my_app_as_service binpath= "prog_path" type= own type= interact
sc start my_app_as_service
pause
Ничё непонел батник и Application->FileName ?
Пример можно?
Я расталкую я на 1 курсе в Универе специальность "Приклодная математика".
С *.bat я пробывал работать сам и то ничего незнаю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2012, 16:29
Помогаю со студенческими работами здесь

Запуск программы при старте системы не работает
Всем привет! Стоит операционная система (uname -a): Linux host 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64...

Автоматический запуск программы при загрузке системы
Здравствуйте. Используется ОС linux yocto-clanton 4.7.2. Поставленная цель: Необходимо, чтобы при загрузке системы...

Запуск определённой версии программы в зависимости от разрядности системы при клике на изображении
Люди добрые помогите с скриптом)) Нужен скрипт чтобы при нажатии на картинку или кнопку в html(hta) запускалась msconfig.exe в x32 и x64...

Запуск программы без создания окна. Запуск фоновой программы
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не...

Запуск студией и запуск самой виндой. Разница работы программы
Итак, проблема такова: есть проект, который замечательно работает при нажатии F5 в студии. При компиляции в релиз-режиме и запуске...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru