Вверх ↑
Этот топик читают: Гость
Ответов: 315
Рейтинг: 1
#1: 2011-02-06 19:17:03 ЛС | профиль | цитата
Ребят, что-то не могу подружить сервис с реестром, чтение производит, но данные выдает нулевые... в чем проблема, заранее спасибо!
code_22454.txt

карма: 0

0
файлы: 1code_22454.txt [291B] [132]
Ответов: 1064
Рейтинг: 76
#2: 2011-02-06 20:18:02 ЛС | профиль | цитата
Хм, странно как то работает
Чтение из HKEY_CURRENT_USER, HKEY_USERS не работает, а вот со всеми другими никаких проблем не наблюдается.
карма: 0

0
Ответов: 315
Рейтинг: 1
#3: 2011-02-06 20:20:52 ЛС | профиль | цитата
вот и я о том же.. что ответят наши ветераны по этому вопросу?
карма: 0

0
Ответов: 294
Рейтинг: 64
#4: 2011-02-06 20:27:52 ЛС | профиль | цитата
Через doConsoleExec "reg query "hkcusoftwarehiasm" /v installpath" тоже не отрабатывает на HKCU.
Получается у сервиса доступ только на "общие" ветки?


-----добавлено-------
Можно определять SID текущего пользователя и считывать из:
HKEY_USERSSID_текущего пользователяSoftwareHiAsm.

А если нужен именно путь установки HiAsm, можно и так:
Add(NTService,8532355,308,252)
{
ServiceName="Lol"
RunType=0
StepTime=10000
link(onStep,4318169:doRead,[])
}
Add(Registry,4318169,364,259)
{
Key="shafileDefaultIcon"
link(onRead,15215836:doDelete,[])
}
Add(Message,7312503,448,259)
{
}
Add(Delete,15215836,406,259)
{
Count=12
Direction=1
link(onDelete,7312503:doMessage,[])
}


карма: 0

0
Ответов: 315
Рейтинг: 1
#5: 2011-02-06 21:34:43 ЛС | профиль | цитата
Нет, оба варианта не подходят
Quest писал(а):
HKEY_USERSSID_текущего пользователяSoftwareHiAsm

вероятность правильно вычислить очень маленькая, имхо
Quest писал(а):
можно и так:

тоже не подходит, тк нужно не HiAsm найти, а программу, не имеющую ассоциируемых с ней файлов
карма: 0

0
Ответов: 1064
Рейтинг: 76
#6: 2011-02-06 21:38:02 ЛС | профиль | цитата
А если использовать сервис токо для запуска фоновой утилиты, которая будет делать все нужное?
Такой вариант тоже не подходит?
карма: 0

0
Ответов: 315
Рейтинг: 1
#7: 2011-02-06 21:38:38 ЛС | профиль | цитата
не ужели придется писать еще приложение для вычисления директории и сохранения пути в файл..
карма: 0

0
Ответов: 1064
Рейтинг: 76
#8: 2011-02-06 21:38:43 ЛС | профиль | цитата
Также реестр в фоновой программе работает корректно.

Хотел добавить, а вышло как всегда
карма: 0

0
Ответов: 315
Рейтинг: 1
#9: 2011-02-06 21:40:01 ЛС | профиль | цитата
так то оно можно сделать, (думаю даже и придется делать именно так), но блин охота все-таки узнать причину и решение проблемы именно с сервисом
карма: 0

0
Ответов: 1064
Рейтинг: 76
#10: 2011-02-06 21:44:09 ЛС | профиль | цитата
[flood]Тогда токо ждать ответа от разработчиков. Для самостоятельных действий, к сожалению, ума не хватает[/flood]
карма: 0

0
Ответов: 315
Рейтинг: 1
#11: 2011-02-06 21:47:25 ЛС | профиль | цитата
tom-it, не знаешь как правильно пишется директория виндовс? %windir% не работает... помнил, но забыл
карма: 0

0
Ответов: 301
Рейтинг: 11
#12: 2011-02-06 21:48:30 ЛС | профиль | цитата
вообще-то нормальный сервис запускается до входа пользователя в систему. так что откуда он может знать о пользователях и их реестре...
карма: 0

0
Ответов: 1064
Рейтинг: 76
#13: 2011-02-06 21:49:55 ЛС | профиль | цитата
[flood]
GS_Lab писал(а):
как правильно пишется директория виндовс?

Да вроде так и пишется. [/flood]
карма: 0

0
Ответов: 315
Рейтинг: 1
#14: 2011-02-06 21:53:37 ЛС | профиль | цитата
evgenyatam, а я вот тестирую свой сервис уже войдя в систему... и даже если сделать чтение реестра переодично, например каждую минуту, то реестр так же не читается, и спустя минуту и спустя 10 минут после входа.. хотя, как Вы выразились, ему пора бы "знать о пользователе и реестре".. может я что-то не так понимаю?
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#15: 2011-02-06 22:45:25 ЛС | профиль | цитата
Видимо, вот по-этому не работает

Архитектура системного реестра. Часть 1 писал(а):
Также, много системных служб запускается от имени учетной записи Local System, где применяется профиль по умолчанию. Для этого раздела недоступна информация, которая хранится в профиле пользователей, сопоставленных с другими учетными записями


Ссылка на почитать -- http://www.oszone.net/13009/arch_regedit

Самое лучшее для служб -- хранить параметры в HKEY_LOCAL_MACHINE или HKEY_CURRENT_CONFIG

А ведь достатчно было немного поискать в нэте
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)