Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 51

WinXp сервис

05.11.2013, 22:26. Показов 762. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программное обеспечение, которое включает в себя сервис. На win7 работа его была стабильной. В момент запуска сервис читает переменную в реестре в HKEY_LOCAL_MACHINE\System. Все стабильно работает. Начал адаптировать и тестировать на win7.
В WinXP сервису не хватает прав, чтобы прочесть в реестре эту переменную. Код создания одинаков.
http://code.msdn.microsoft.com... e-cacf4948

Собственно, если я не ошибаюсь, то ошибка, почему то, в создании сервиса, если я его хочу сделать LocalSystem, а не LocalService аккаунтом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2013, 22:26
Ответы с готовыми решениями:

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

Программа для авторизации в winxp
Всем привет.Хочу сделать программу,которая будеет логиниться в winxp вместо меня. Может кто-нибудь подскажет в каком направлении...

LPT порт в winapi под winXP
Здравствуйте ПРОГРАММИСТЫ ! Подскажите пожайлуста (а то я целых два дня потратил так и не разобрался) где доступно можно понять как в...

4
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
05.11.2013, 22:36
LocalSystem имеет полные права в системе, привилегию SE_TCB_NAME и SID админа.
Он не только читать, но и писать может куда угодно. А вот LocalService ограничен.
И это справедливо как для Windows 7, так и для Windows XP.

Код чтения реестра можете показать ? Желательно с кодами ошибок.
1
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 51
05.11.2013, 23:06  [ТС]
Ошибка в логике создания CreateService
Привожу пример функции
schService = CreateService(
schSCManager, // SCManager database
"CrystalProtection", // Name of service
"CrystalProtection Corporation", // Name to display
SERVICE_QUERY_STATUS, // Desired access
SERVICE_INTERACTIVE_PROCESS,// // Service type
SERVICE_SYSTEM_START, // Service start type
SERVICE_ERROR_NORMAL, // Error control type
szPath, // Service's binary
NULL, // No load ordering group
NULL, // No tag identifier
NULL, // Dependencies
NULL,// // Service running account
NULL // Password of the account
);

Функция возвращает 0 И GetLastError выдаёт 0, а потом 183(ALREADY_EXIST)! НО, я через sc start - запустить сервис не могу - пишет - сервиса не существует. МОжет, я его создал, но запустить не могу?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
05.11.2013, 23:17
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
schService = CreateService(
 schSCManager, // SCManager database
 "CrystalProtection", // Name of service
 "CrystalProtection Corporation", // Name to display
 SERVICE_QUERY_STATUS, // Desired access
 SERVICE_INTERACTIVE_PROCESS,// // Service type
 SERVICE_SYSTEM_START, // Service start type
 SERVICE_ERROR_NORMAL, // Error control type
 szPath, // Service's binary
 NULL, // No load ordering group
 NULL, // No tag identifier
 NULL, // Dependencies
 NULL,// // Service running account
 NULL // Password of the account
 );
Код неправильный.
Тип службы должен быть или SERVICE_WIN32_OWN_PROCESS, или, если вы хостите
несколько служб в одном exe, а-ля svchost.exe, SERVICE_WIN32_SHARE_PROCESS.
SERVICE_INTERACTIVE_PROCESS уберите вообще, этот флаг для современных служб не
нужен и работает только на системах до Windows Vista.
SERVICE_SYSTEM_START - тоже неверно, этот тип запуска, как и SERVICE_BOOT_START,
только для драйверов.

Кстати, Вы же не хотите сказать, что этот код работал на Windows 7 ?
1
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 51
05.11.2013, 23:25  [ТС]
Нет, для 7ки я делал localService. Он имеет права на чтение в HKEY_LOCAL_MACHINE и пример настоек от MSDN я не трогал.
А сейчас это уже код моего изыскания только для XP. В любом случае, огромное спасибо, сервис запустился и прочитал реестр.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2013, 23:25
Помогаю со студенческими работами здесь

Как изменить громкость звука (WinXP)
Вопрос простой: хочу изменить громкость звука в Windows XP. Тот главный master-ползунок. В интернете много вопросов на эту тему, везде...

Как работать с темами winxp на tabcontrol?
как работать с темами winxp на tabcontrol на winapi? Чтобы tabcontrol созданный с помощью winapi был белым а не серым. Я погуглил но...

Как отключить защиту системных папок в WinXP?
Мне нужно изменить драйвер в папке windows\system32\drivers Но когда я это делаю, виндовс возвращает старый файл. Насколько я понял,...

Как получить ThreadID имея его HANDLE в WinXP ?
В более современных виндах делается элементарно - GetThreadId , а в древнем XP как быть ? :) Добавлено через 2 минуты Да, забыл...

Драйвера для Canon: выбрать WinXP или WinXP SP2?
При выборе операционки есть возможность указать Windows нужной версии: Windows XP Windows XP SP2 Если на компе стоит "Windows...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru