Форум
Написать нам
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум MMB » Другие разделы » Мир программирования » Delphi (ну давайте!)
Delphi
СергейДата: Воскресенье, 23 Мая 2010, 22:56 | Сообщение # 31
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
короче пишу сервис для работы, т.е. она мониторит при запуске на наличие программы(условно назавем control), если есть, то запускает. Смотрит в реестре некоторые записи в разделе RUN, заодно проверяет стоит ли в автозапуске прога control, если не стоит то делает запись. Просто з***я с мудрыми клиентами они удаляют из руна запись, либо сами, либо своими чистилками реестра, либо у их детей или продвинутых-знакомых ручки шаловливые. Вот я и решил подстраховатся через сервис. А закрыть хотел после работы, чтоб ресурсов не хавал....
А по другому реализовать, мысли в голову не пришли...


Сообщение отредактировал Сергей - Воскресенье, 23 Мая 2010, 23:23
 
Alex3AДата: Воскресенье, 23 Мая 2010, 23:23 | Сообщение # 32
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Сергей)
А закрыть хотел после работы, чтоб ресурсов не хавал....

Интересней было бы скажем, что бы раз там в н минут сервис проверял сохранность чего
либо и при отсутствии возобновлял. А ресурсов то и хавать не будет, так что
можно держать постоянно.
 
СергейДата: Воскресенье, 23 Мая 2010, 23:47 | Сообщение # 33
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Alex3A)
А ресурсов то и хавать не будет, так что можно держать постоянно.
ну раз такое дело пусть висит
кстати, а проверка каждые н-минут хлопотно сделать?
 
Alex3AДата: Понедельник, 24 Мая 2010, 00:21 | Сообщение # 34
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Сергей)
кстати, а проверка каждые н-минут хлопотно сделать?

просто тормози поток на нужное время.

Добавлено (24 Май 2010, 00:21)
---------------------------------------------

Quote (Сергей)
сделать?

А,
Code

     sleep(миллисекунд);  
     Application.ProcessMessages;
 
toizyДата: Понедельник, 24 Мая 2010, 12:49 | Сообщение # 35
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Quote (Alex3A)
Ну не совсем бесконечный, если так то только терминате помогет, а он работает не лучшим образом, и используется только в критических ситуациях.

ну это пример, по-грамотному, следует организовать поток, т.о. потоков в сервие может быть несколько, фактически, отдельные сервисы. Которые, кстати, могут инсталлироваться отдельно. Хоть 10 штук, но запускаемый файл-то один. :)

Потому и не люблю обёртку, что 1 ехе = 1 служба.

Добавлено (24 Май 2010, 12:49)
---------------------------------------------
Алекс, Sleep не стоит, нагружать камень будет сильно. Правильнее будет запустить поток с WaitForSingleObject. Кстати, Сергей, о твоей идее.

Quote (Сергей)
А по другому реализовать, мысли в голову не пришли...

Если прога работает постоянно, то пусть самостоятельно проверяет наличие себя же в автозапуске. Поток в помощь. Будут вопросы по еализации, я напишу тебе пример кода.


Жизнь оказалась не такой уж и забавной, как поначалу...
 
СергейДата: Понедельник, 24 Мая 2010, 13:45 | Сообщение # 36
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (toizy)
Если прога работает постоянно, то пусть самостоятельно проверяет наличие себя же в автозапуске
Дело было так: Я делал две проги, одну как сервис, другую как интерфейс(ибо не получалось отоброжать окно, по умолчанию срв. инсталируется без взаимодействия с раб.стол.).Вот сервис при загрузке сис. сканирует реестр, а потом запускает прогу, которая в свою очередь выполняет ряд оперций, и если есть плохой результат, то выводит месагу юзеру и указывает что не так. Первый вариант такого я реализовал на НБ, но теперь(после прочтения постов) решил все реализовать в одном флаконе, т.е. в сервисе и пусть себе мониторит...
Quote (toizy)
поток с WaitForSingleObject
надо покапатся, надеюсь разобратся т.к., это моя вторая прога(первая была типа расчета НДС :D ) на делфи, так, что еще многое путаю или непонимаю, попутно читаю инфу, которой малавато на доступном языке :)
Кстати у кого нить есть стандартная справка на русском?! Я скачал одну, а там только 1 глава доступна, а остальное надо платить :D

Добавлено (24 Май 2010, 13:45)
---------------------------------------------

Quote (toizy)
Поток в помощь. Будут вопросы по еализации, я напишу тебе пример кода.
попробую сам поковырятся, чтоб понять суть, если уж упрусь wall то тогда обращусь, я пока даже не представляю, что это такое redface


Сообщение отредактировал Сергей - Понедельник, 24 Мая 2010, 13:46
 
PeterДата: Понедельник, 24 Мая 2010, 16:25 | Сообщение # 37
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (toizy)
Потому и не люблю обёртку, что 1 ехе = 1 служба.

Почему?
В той статье, на которую я давал ссылку сказано:
Quote
Как уже было сказано, в одном проекте (соответственно, exe-файле) может быть несколько служб. Чтобы добавить ещё одну службу в текущий проект, лезем в File/New/Other и там выбираем "Service" (а не "Service Application", как было ранее).

Добавлено (24 Май 2010, 16:25)
---------------------------------------------

Quote (Сергей)
Кстати у кого нить есть стандартная справка на русском?!

По Delphi с этим делом глухо, как впрочем, и со всеми остальными "справками" по языкам.
Русскоязычная информация доступна только в виде отдельных самостоятельных учебников и справочников.
В сети их достаточно!

Не проверял, но говорят, что для С++ инфы в инете намного больше, чем для Delphi...


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Понедельник, 24 Мая 2010, 16:35 | Сообщение # 38
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
Правильнее будет запустить поток с WaitForSingleObject.

Этим надо уметь еще пользоватся, так что не засирай Сергей, мозгу, время придет он и сам разберется.
Quote (Peter)
В той статье, на которую я давал ссылку сказано:

Все относительно, была бы нужда а решение всегда найдется, и не одно.
Как тебе сервис контролирующий не завис ли другой сервис(я и такое встречал) :D
 
PeterДата: Понедельник, 24 Мая 2010, 16:56 | Сообщение # 39
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Alex3A)
Как тебе сервис контролирующий не завис ли другой сервис(я и такое встречал)

Гм...
А почему бы и нет?
Ещё прикольнее, если они будут друг друга мониторить. :D


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Понедельник, 24 Мая 2010, 17:42 | Сообщение # 40
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
PeterДата: Вторник, 25 Мая 2010, 16:35 | Сообщение # 41
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Прикрепления: 0282824.jpg (113.2 Kb)


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!


Сообщение отредактировал Peter - Вторник, 25 Мая 2010, 16:38
 
Alex3AДата: Вторник, 25 Мая 2010, 19:31 | Сообщение # 42
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
СергейДата: Вторник, 25 Мая 2010, 21:40 | Сообщение # 43
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
ну пепепец я попал с делфейкой :D
такой лес дремучий %)
вопрос тут возник: я гружу в ListView(тип vsReport) список значений из реестра, а воздейсвовать на чебокс не получается, по всей сети только один пример растеражирован, короче полный крендец
Может есть другой объект для вывода инфы и с чебоксом, чтоб пороще был :D

Добавлено (25 Май 2010, 21:40)
---------------------------------------------
ну вот методом лобной кости и крепкой стены нашел как проверить

Code
ListView1.Items[i].Checked
:D


Сообщение отредактировал Сергей - Вторник, 25 Мая 2010, 21:41
 
Alex3AДата: Вторник, 25 Мая 2010, 21:44 | Сообщение # 44
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
А что же ты думал?
Там самый ходовой хелп это исходник, его надо уметь читать :D
 
mishemДата: Вторник, 25 Мая 2010, 22:49 | Сообщение # 45
Ветеран форума
Группа: Проверенные
Сообщений: 552
Репутация: 85
Награды: 12
Статус: Offline


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь

 
PeterДата: Среда, 26 Мая 2010, 02:48 | Сообщение # 46
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Среда, 26 Мая 2010, 03:50 | Сообщение # 47
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
PeterДата: Среда, 26 Мая 2010, 04:42 | Сообщение # 48
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Среда, 26 Мая 2010, 12:49 | Сообщение # 49
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
PeterДата: Среда, 26 Мая 2010, 16:31 | Сообщение # 50
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline

Добавлено (26 Май 2010, 16:31)
---------------------------------------------
Чего-то сайт (или сервер) опять глючит "по-черному".
Через раз: "Internet Explorer не может отобразить эту веб-страницу"...
:(
Это только у меня так?


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Среда, 26 Мая 2010, 17:07 | Сообщение # 51
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
PeterДата: Среда, 26 Мая 2010, 17:32 | Сообщение # 52
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
Alex3AДата: Среда, 26 Мая 2010, 17:50 | Сообщение # 53
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
СергейДата: Пятница, 28 Мая 2010, 19:41 | Сообщение # 54
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline

в делфи пытаюсь прочитать в реестр значение Shell и не могу прочитать в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Тогда получается для чтения этой ветки надо использовать не OpenKey, а что то другое?!
 
Alex3AДата: Пятница, 28 Мая 2010, 20:04 | Сообщение # 55
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Сергей, А зачем его читать?
там что бывает чтото кроме експлорера?
 
СергейДата: Пятница, 28 Мая 2010, 20:24 | Сообщение # 56
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Alex3A)
там что бывает чтото кроме експлорера?
там много чего бывает ;)
например такая запись "Explorer.exe C:\Documents and Settings\Admin\Local Settings\Temp\ар567анео78.avi .exe"
мне с этой ветки надо еще Userinit тоже прочитать


Сообщение отредактировал Сергей - Пятница, 28 Мая 2010, 20:29
 
toizyДата: Воскресенье, 30 Мая 2010, 01:30 | Сообщение # 57
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Сергей, смотря как ты читаешь в коде...

Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Воскресенье, 30 Мая 2010, 02:19 | Сообщение # 58
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Сергей)
например такая запись "Explorer.exe C:\Documents and Settings\Admin\Local Settings\Temp\ар567анео78.avi .exe"

А вот это уже вирус!
шел это оболочка, все программы винды в принципе такими не являются, это приложения
эксплорера. В данном случае, запускается эксплорер(только не путать, експлорер как проводник и как оболочка, если експлорер загрузит сам себя получится проводник) и сразу же ар567анео78.avi .exe, к тому же размещение этого файла в темпе явно указывает на его жутко стремный характер. Конечно шел могет быть и другим, но не на стандартной винде, а на той которая предназначена для специфических целей.

Добавлено (30 Май 2010, 02:19)
---------------------------------------------
Если ты не можеш прочитать этот параметр или ветку, то это тебе не положено :D
А пачему разбирайся.

 
СергейДата: Вторник, 01 Июня 2010, 20:02 | Сообщение # 59
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (toizy)
Сергей, смотря как ты читаешь в коде
непонял?
Да я понимаю, что в коде где то натупил, ведь НБ считывает без проблем, ладно по маленьку разберусь....
Тут постоянно на любой вопрос о том или ином действии, гугл выдает 2 примера на делфи и 5 на С++ :D
Посмотрел примеры на этом си, там мне более менее понятно(видать сказывается изучение PHP и немного яваскрипт), у меня в архивах нашел Microsoft Visual Studio 2008 установил, решил попробовать...нда, код то понятный но вот в остальном хрен разберешь :D
Quote (Alex3A)
А вот это уже вирус!
а якже, вот и хочу проверять при выключении компа эти ключики...вернее хотел. Чую придется начинать со всяких там примерчиков из задач по Делфи, скукота tired
 
SowerДата: Среда, 02 Июня 2010, 12:15 | Сообщение # 60
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Сергей)
Чую придется начинать со всяких там примерчиков из задач по Делфи, скукота

DelphiWorld, _http://delphiexpert.ru/, _http://delphi.int.ru/
отличные вещи thumbs_up
потом _http://programmersforum.ru - ИМХО лучший формум для программистов


Сообщение отредактировал Sower - Среда, 02 Июня 2010, 12:16
 
Форум MMB » Другие разделы » Мир программирования » Delphi (ну давайте!)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: