Сервисы NT и драйверы, функции специфичные для XP Delphi — среда быстрой разработки, где в качестве языка программирования используется Object Pascal. На сегодняшний день позволяет разрабатывать ПО для Microsoft Windows, Mac OS, iOS и Android и входит в состав Embarcadero RAD Studio https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp.feed 2022-09-13T04:40:21+07:00 Delphi help info@delphi-hlp.ru Joomla! - Open Source Content Management WMI - практика применения в Delphi 2017-12-11T21:29:57+07:00 2017-12-11T21:29:57+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/wmi-praktika-primeneniya-v-delphi.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #808000; font-weight: bold;">1. </span><span style="color: #808000; font-weight: bold;">Предисловие</span><span style="color: #808000; font-weight: bold;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Приветствую</span> <span style="color: #000000;">всех</span> <span style="color: #000000;">любителей</span><span style="color: #000000;"> Delphi! </span><span style="color: #000000;">В</span> <span style="color: #000000;">этой</span> <span style="color: #000000;">статье</span> <span style="color: #000000;">я</span> <span style="color: #000000;">хочу</span> <span style="color: #000000;">поведать</span> <span style="color: #000000;">вам</span> <span style="color: #000000;">об</span> <span style="color: #000000;">одной</span> <span style="color: #000000;">из</span> <span style="color: #000000;">замечательных</span><span style="color: #000000;">, </span><span style="color: #000000;">с</span> <span style="color: #000000;">моей</span> <span style="color: #000000;">точки</span> <span style="color: #000000;">зрения</span><span style="color: #000000;">, </span><span style="color: #000000;">технологии</span><span style="color: #000000;">, </span><span style="color: #000000;">разработанной</span><span style="color: #000000;"> Microsoft </span><span style="color: #000000;">для</span> <span style="color: #000000;">облегчения</span> <span style="color: #000000;">нашей</span> <span style="color: #000000;">жизни</span><span style="color: #000000;">. </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">любой</span> <span style="color: #000000;">программист</span><span style="color: #000000;">, </span><span style="color: #000000;">используя</span> <span style="color: #000000;">любой</span> <span style="color: #000000;">современный</span> <span style="color: #000000;">язык</span> <span style="color: #000000;">программирования</span><span style="color: #000000;"> (</span><span style="color: #000000;">не</span> <span style="color: #000000;">исключая</span> <span style="color: #000000;">и</span> <span style="color: #000000;">скрип</span> <span style="color: #000000;">языков</span><span style="color: #000000;">!) </span><span style="color: #000000;">может</span> <span style="color: #000000;">с</span> <span style="color: #000000;">лёгкостью</span> <span style="color: #000000;">узнать</span> <span style="color: #000000;">о</span> <span style="color: #000000;">своём</span> <span style="color: #000000;">компьютере</span> <span style="color: #000000;">практически</span> <span style="color: #000000;">всё</span><span style="color: #000000;">. </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">программисты</span> <span style="color: #000000;">всех</span><span style="color: #000000;"> "</span><span style="color: #000000;">вероисповеданий</span><span style="color: #000000;">" </span><span style="color: #000000;">могут</span> <span style="color: #000000;">определить</span><span style="color: #000000;">, </span><span style="color: #000000;">какое</span> <span style="color: #000000;">оборудование</span> <span style="color: #000000;">установлено</span> <span style="color: #000000;">на</span> <span style="color: #000000;">их</span> <span style="color: #000000;">компьютере</span><span style="color: #000000;">, </span><span style="color: #000000;">узнать</span> <span style="color: #000000;">информацию</span> <span style="color: #000000;">о</span> <span style="color: #000000;">материнской</span> <span style="color: #000000;">плате</span> <span style="color: #000000;">и</span> <span style="color: #000000;">процессоре</span><span style="color: #000000;">, </span><span style="color: #000000;">параметры</span> <span style="color: #000000;">БИОСа</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span> <span style="color: #000000;">процессы</span> <span style="color: #000000;">запущены</span> <span style="color: #000000;">в</span> <span style="color: #000000;">данный</span> <span style="color: #000000;">момент</span><span style="color: #000000;">, </span><span style="color: #000000;">какова</span> <span style="color: #000000;">температура</span> <span style="color: #000000;">процессора</span> <span style="color: #000000;">и</span> <span style="color: #000000;">скорость</span> <span style="color: #000000;">вращения</span> <span style="color: #000000;">кулера</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span> <span style="color: #000000;">настройки</span> <span style="color: #000000;">графической</span> <span style="color: #000000;">системы</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span><span style="color: #000000;">.</span><span style="color: #000000;">…</span> <span style="color: #000000;">Одним</span> <span style="color: #000000;">словом</span><span style="color: #000000;">, </span><span style="color: #000000;">все</span> <span style="color: #000000;">о</span> <span style="color: #000000;">чём</span> <span style="color: #000000;">вы</span> <span style="color: #000000;">так</span> <span style="color: #000000;">долго</span> <span style="color: #000000;">мечтали</span><span style="color: #000000;">, </span><span style="color: #000000;">стало</span> <span style="color: #000000;">доступно</span> <span style="color: #000000;">благодаря</span><span style="color: #000000;"> WMI. </span><span style="color: #000000;">Звучит</span> <span style="color: #000000;">заманчиво</span><span style="color: #000000;">, </span><span style="color: #000000;">не</span> <span style="color: #000000;">так</span> <span style="color: #000000;">ли</span><span style="color: #000000;">? </span><span style="color: #000000;">Естественно</span><span style="color: #000000;">, </span><span style="color: #000000;">что</span><span style="color: #000000;"> WMI - </span><span style="color: #000000;">это</span> <span style="color: #000000;">не</span> <span style="color: #000000;">только</span> <span style="color: #000000;">набор</span> <span style="color: #000000;">параметров</span><span style="color: #000000;">. </span><span style="color: #000000;">А</span> <span style="color: #000000;">что</span> <span style="color: #000000;">это</span> <span style="color: #000000;">такое</span><span style="color: #000000;"> - </span><span style="color: #000000;">читайте</span> <span style="color: #000000;">ниже</span><span style="color: #000000;">. </span></span></p> <p style="margin: 7px 0px;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/wmi-praktika-primeneniya-v-delphi.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #808000; font-weight: bold;">1. </span><span style="color: #808000; font-weight: bold;">Предисловие</span><span style="color: #808000; font-weight: bold;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Приветствую</span> <span style="color: #000000;">всех</span> <span style="color: #000000;">любителей</span><span style="color: #000000;"> Delphi! </span><span style="color: #000000;">В</span> <span style="color: #000000;">этой</span> <span style="color: #000000;">статье</span> <span style="color: #000000;">я</span> <span style="color: #000000;">хочу</span> <span style="color: #000000;">поведать</span> <span style="color: #000000;">вам</span> <span style="color: #000000;">об</span> <span style="color: #000000;">одной</span> <span style="color: #000000;">из</span> <span style="color: #000000;">замечательных</span><span style="color: #000000;">, </span><span style="color: #000000;">с</span> <span style="color: #000000;">моей</span> <span style="color: #000000;">точки</span> <span style="color: #000000;">зрения</span><span style="color: #000000;">, </span><span style="color: #000000;">технологии</span><span style="color: #000000;">, </span><span style="color: #000000;">разработанной</span><span style="color: #000000;"> Microsoft </span><span style="color: #000000;">для</span> <span style="color: #000000;">облегчения</span> <span style="color: #000000;">нашей</span> <span style="color: #000000;">жизни</span><span style="color: #000000;">. </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">любой</span> <span style="color: #000000;">программист</span><span style="color: #000000;">, </span><span style="color: #000000;">используя</span> <span style="color: #000000;">любой</span> <span style="color: #000000;">современный</span> <span style="color: #000000;">язык</span> <span style="color: #000000;">программирования</span><span style="color: #000000;"> (</span><span style="color: #000000;">не</span> <span style="color: #000000;">исключая</span> <span style="color: #000000;">и</span> <span style="color: #000000;">скрип</span> <span style="color: #000000;">языков</span><span style="color: #000000;">!) </span><span style="color: #000000;">может</span> <span style="color: #000000;">с</span> <span style="color: #000000;">лёгкостью</span> <span style="color: #000000;">узнать</span> <span style="color: #000000;">о</span> <span style="color: #000000;">своём</span> <span style="color: #000000;">компьютере</span> <span style="color: #000000;">практически</span> <span style="color: #000000;">всё</span><span style="color: #000000;">. </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">программисты</span> <span style="color: #000000;">всех</span><span style="color: #000000;"> "</span><span style="color: #000000;">вероисповеданий</span><span style="color: #000000;">" </span><span style="color: #000000;">могут</span> <span style="color: #000000;">определить</span><span style="color: #000000;">, </span><span style="color: #000000;">какое</span> <span style="color: #000000;">оборудование</span> <span style="color: #000000;">установлено</span> <span style="color: #000000;">на</span> <span style="color: #000000;">их</span> <span style="color: #000000;">компьютере</span><span style="color: #000000;">, </span><span style="color: #000000;">узнать</span> <span style="color: #000000;">информацию</span> <span style="color: #000000;">о</span> <span style="color: #000000;">материнской</span> <span style="color: #000000;">плате</span> <span style="color: #000000;">и</span> <span style="color: #000000;">процессоре</span><span style="color: #000000;">, </span><span style="color: #000000;">параметры</span> <span style="color: #000000;">БИОСа</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span> <span style="color: #000000;">процессы</span> <span style="color: #000000;">запущены</span> <span style="color: #000000;">в</span> <span style="color: #000000;">данный</span> <span style="color: #000000;">момент</span><span style="color: #000000;">, </span><span style="color: #000000;">какова</span> <span style="color: #000000;">температура</span> <span style="color: #000000;">процессора</span> <span style="color: #000000;">и</span> <span style="color: #000000;">скорость</span> <span style="color: #000000;">вращения</span> <span style="color: #000000;">кулера</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span> <span style="color: #000000;">настройки</span> <span style="color: #000000;">графической</span> <span style="color: #000000;">системы</span><span style="color: #000000;">, </span><span style="color: #000000;">какие</span><span style="color: #000000;">.</span><span style="color: #000000;">…</span> <span style="color: #000000;">Одним</span> <span style="color: #000000;">словом</span><span style="color: #000000;">, </span><span style="color: #000000;">все</span> <span style="color: #000000;">о</span> <span style="color: #000000;">чём</span> <span style="color: #000000;">вы</span> <span style="color: #000000;">так</span> <span style="color: #000000;">долго</span> <span style="color: #000000;">мечтали</span><span style="color: #000000;">, </span><span style="color: #000000;">стало</span> <span style="color: #000000;">доступно</span> <span style="color: #000000;">благодаря</span><span style="color: #000000;"> WMI. </span><span style="color: #000000;">Звучит</span> <span style="color: #000000;">заманчиво</span><span style="color: #000000;">, </span><span style="color: #000000;">не</span> <span style="color: #000000;">так</span> <span style="color: #000000;">ли</span><span style="color: #000000;">? </span><span style="color: #000000;">Естественно</span><span style="color: #000000;">, </span><span style="color: #000000;">что</span><span style="color: #000000;"> WMI - </span><span style="color: #000000;">это</span> <span style="color: #000000;">не</span> <span style="color: #000000;">только</span> <span style="color: #000000;">набор</span> <span style="color: #000000;">параметров</span><span style="color: #000000;">. </span><span style="color: #000000;">А</span> <span style="color: #000000;">что</span> <span style="color: #000000;">это</span> <span style="color: #000000;">такое</span><span style="color: #000000;"> - </span><span style="color: #000000;">читайте</span> <span style="color: #000000;">ниже</span><span style="color: #000000;">. </span></span></p> <p style="margin: 7px 0px;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/wmi-praktika-primeneniya-v-delphi.html">Подробнее...</a></p> Инсталляция/удаление сервисов под NT 2017-12-11T21:22:50+07:00 2017-12-11T21:22:50+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/installyatsiya-udalenie-servisov-pod-nt.html Super User toto44@inbox.ru <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Функции для создавания и удаления NT Services. Можно создать NT Service от текущее приложение. Параметры:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">1. CreateNTService(ExecutablePath,ServiceName: String)</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ServiceName - Имя сервиза которое отобразится в Service Control Manager</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Результат:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">true - если операциая завершена успешно</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">false - если есть ошибка. Можно произвести call то GetLastError чтобы информироваться об естество ошибки</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. DeleteNTService(ServiceName: String):boolean;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ServiceName - имя сервиза подлежающии удаления</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Результат:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">true - если операциая завершена успешно </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">false - если есть ошибка. Можно произвести call то GetLastError чтобы </span><span class="f_CodeExample" style="color: #000000;">информироваться об естество ошибки</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/installyatsiya-udalenie-servisov-pod-nt.html">Подробнее...</a></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Функции для создавания и удаления NT Services. Можно создать NT Service от текущее приложение. Параметры:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">1. CreateNTService(ExecutablePath,ServiceName: String)</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ServiceName - Имя сервиза которое отобразится в Service Control Manager</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Результат:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">true - если операциая завершена успешно</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">false - если есть ошибка. Можно произвести call то GetLastError чтобы информироваться об естество ошибки</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">2. DeleteNTService(ServiceName: String):boolean;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ServiceName - имя сервиза подлежающии удаления</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Результат:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">true - если операциая завершена успешно </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">false - если есть ошибка. Можно произвести call то GetLastError чтобы </span><span class="f_CodeExample" style="color: #000000;">информироваться об естество ошибки</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/installyatsiya-udalenie-servisov-pod-nt.html">Подробнее...</a></p> Как запустить и остановить сервис (или получить его статус)? 2017-12-11T16:37:07+07:00 2017-12-11T16:37:07+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-zapustit-i-ostanovit-servis-ili-poluchit-ego-status.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Здесь представлены две функции ServiceStart и ServiceStop, которые показывают, как пользоваться API функциями OpenSCManager, OpenService и т.д.:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-zapustit-i-ostanovit-servis-ili-poluchit-ego-status.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Здесь представлены две функции ServiceStart и ServiceStop, которые показывают, как пользоваться API функциями OpenSCManager, OpenService и т.д.:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-zapustit-i-ostanovit-servis-ili-poluchit-ego-status.html">Подробнее...</a></p> Как запустить службу сразу после ее установки? 2017-12-11T21:13:34+07:00 2017-12-11T21:13:34+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-zapustit-sluzhbu-srazu-posle-ee-ustanovki.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ To automatically start a service after its installation use this code }</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyService.ServiceAfterInstall(Sender: TService);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sm: TServiceManager;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sm := TServiceManager.Create;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> sm.Connect </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> sm.OpenServiceConnection(self.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        sm.StartService;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    sm.Free;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ To automatically start a service after its installation use this code }</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TMyService.ServiceAfterInstall(Sender: TService);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sm: TServiceManager;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> sm := TServiceManager.Create;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> sm.Connect </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> sm.OpenServiceConnection(self.</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">name</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        sm.StartService;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    sm.Free;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как получить список загруженных драйверов? 2017-12-11T16:40:07+07:00 2017-12-11T16:40:07+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-poluchit-spisok-zagruzhennykh-drajverov.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот код использует преимущества недокументированного NtQuerySystemInformation</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> API для получения списка загруженных драйверов в Windows NT.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-poluchit-spisok-zagruzhennykh-drajverov.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот код использует преимущества недокументированного NtQuerySystemInformation</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> API для получения списка загруженных драйверов в Windows NT.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-poluchit-spisok-zagruzhennykh-drajverov.html">Подробнее...</a></p> Как проверить запущен ли сервис? 2017-12-11T16:44:41+07:00 2017-12-11T16:44:41+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-proverit-zapushchen-li-servis.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows 2000 и более ранних версий: все процессы предоставляются SC_MANAGER_CONNECT,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Права доступа SC_MANAGER_ENUMERATE_SERVICE и SC_MANAGER_QUERY_LOCK_STATUS.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows ХР: только зарегистрированные пользователи имеют SC_MANAGER_CONNECT,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SC_MANAGER_ENUMERATE_SERVICE,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> и SC_MANAGER_QUERY_LOCK_STATUS права доступа.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-proverit-zapushchen-li-servis.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows 2000 и более ранних версий: все процессы предоставляются SC_MANAGER_CONNECT,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Права доступа SC_MANAGER_ENUMERATE_SERVICE и SC_MANAGER_QUERY_LOCK_STATUS.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows ХР: только зарегистрированные пользователи имеют SC_MANAGER_CONNECT,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SC_MANAGER_ENUMERATE_SERVICE,</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> и SC_MANAGER_QUERY_LOCK_STATUS права доступа.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-proverit-zapushchen-li-servis.html">Подробнее...</a></p> Как сделать System Restore point 2017-12-11T21:11:18+07:00 2017-12-11T21:11:18+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-sdelat-tochku-vosstanovleniya-sistemy.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">TScriptControl компонент должен присутствовать на вкладке вашего ActiveX. </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Запустите новое приложение и перетащите TButton и TScriptControl в основную форму.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> В событии onclick Button1 поместите следующий код:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-sdelat-tochku-vosstanovleniya-sistemy.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">TScriptControl компонент должен присутствовать на вкладке вашего ActiveX. </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Запустите новое приложение и перетащите TButton и TScriptControl в основную форму.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> В событии onclick Button1 поместите следующий код:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-sdelat-tochku-vosstanovleniya-sistemy.html">Подробнее...</a></p> Как управлять сервисом на другом компьютере в W2K? 2017-12-11T16:37:53+07:00 2017-12-11T16:37:53+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-upravlyat-servisom-na-drugom-kompyutere-v-w2k.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Требуется написать управление сервисом, запущеном на другом компьютере. С помошью чего это лучеше сделать?  </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-upravlyat-servisom-na-drugom-kompyutere-v-w2k.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Требуется написать управление сервисом, запущеном на другом компьютере. С помошью чего это лучеше сделать?  </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/kak-upravlyat-servisom-na-drugom-kompyutere-v-w2k.html">Подробнее...</a></p> Написание Terminal Services Client 2017-12-11T21:03:34+07:00 2017-12-11T21:03:34+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-terminal-services-client.html Super User toto44@inbox.ru <p> </p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">"Совместимость с windows2000 сервер" / "Windows ХР" службы терминалов являются очень важными в компьютерных сетях: каждый клиентский компьютер может эмулировать рабочий стол сервера с помощью простого исполняемого файла названный " mstsc.исполняемый." Этот исполняемый файл использует элемент управления ActiveX "MStscax", определенный в "mstscax.файл DLL." Эти файлы автоматически устанавливаются в Windows XP и Windows Server 2000, но не в ОС Windows 2000 Professional или системе Windows 98. Вы можете скачать весь пакет содержащий </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">После загрузки исполняемый файл "tsmsisetup.exe", запустите его, чтобы распаковать. Теперь давайте принять во внимание папку "System32": это папка, содержащая</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">"команду mstsc.exe" и "mstscax.файл DLL." Теперь зарегистрируйте элемент управления ActiveX "MsTscAx":</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-terminal-services-client.html">Подробнее...</a></p> <p> </p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">"Совместимость с windows2000 сервер" / "Windows ХР" службы терминалов являются очень важными в компьютерных сетях: каждый клиентский компьютер может эмулировать рабочий стол сервера с помощью простого исполняемого файла названный " mstsc.исполняемый." Этот исполняемый файл использует элемент управления ActiveX "MStscax", определенный в "mstscax.файл DLL." Эти файлы автоматически устанавливаются в Windows XP и Windows Server 2000, но не в ОС Windows 2000 Professional или системе Windows 98. Вы можете скачать весь пакет содержащий </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">После загрузки исполняемый файл "tsmsisetup.exe", запустите его, чтобы распаковать. Теперь давайте принять во внимание папку "System32": это папка, содержащая</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">"команду mstsc.exe" и "mstscax.файл DLL." Теперь зарегистрируйте элемент управления ActiveX "MsTscAx":</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-terminal-services-client.html">Подробнее...</a></p> Написание сервисов Windows NT на WinAPI 2017-12-11T16:36:01+07:00 2017-12-11T16:36:01+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-servisov-windows-nt-na-winapi.html Super User toto44@inbox.ru <p><span style="color: #0000ff; font-family: 'Times New Roman'; text-decoration: underline;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Причиной написания этой статьи, как не странно, стала необходимость написания своего сервиса. Но в Borland'е решили немного "порадовать" нас, пользователей Delphi 6 Personal, не добавив возможности создания сервисов (в остальных версиях Delphi 5 и 6 эта возможность имеется в виде класса TService). Решив, что еще не все потеряно, взял на проверку компоненты из одноименного раздела этого сайта. Первый оказался с многочисленными багами, а до пробы второго я не дошел, взглянув на исходник - модуль Forms в Uses это не только окошки, но и более 300 килобайт "веса" программы. Бессмысленного увеличения размера не хотелось и пришлось творить свое.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Так как сервис из воздуха не сотворишь, то мой исходник и эта статья очень сильно опираются на MSDN. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-servisov-windows-nt-na-winapi.html">Подробнее...</a></p> <p><span style="color: #0000ff; font-family: 'Times New Roman'; text-decoration: underline;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Причиной написания этой статьи, как не странно, стала необходимость написания своего сервиса. Но в Borland'е решили немного "порадовать" нас, пользователей Delphi 6 Personal, не добавив возможности создания сервисов (в остальных версиях Delphi 5 и 6 эта возможность имеется в виде класса TService). Решив, что еще не все потеряно, взял на проверку компоненты из одноименного раздела этого сайта. Первый оказался с многочисленными багами, а до пробы второго я не дошел, взглянув на исходник - модуль Forms в Uses это не только окошки, но и более 300 килобайт "веса" программы. Бессмысленного увеличения размера не хотелось и пришлось творить свое.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Так как сервис из воздуха не сотворишь, то мой исходник и эта статья очень сильно опираются на MSDN. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/napisanie-servisov-windows-nt-na-winapi.html">Подробнее...</a></p> Перечисление служб 2017-12-11T21:18:23+07:00 2017-12-11T21:18:23+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/perechislenie-sluzhb.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Демонстрация получения информации по сервисам:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/perechislenie-sluzhb.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Демонстрация получения информации по сервисам:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/perechislenie-sluzhb.html">Подробнее...</a></p> Получение дополнительных привилегий под NT 2017-12-11T21:26:08+07:00 2017-12-11T21:26:08+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/poluchenie-dopolnitelnykh-privilegij-pod-nt.html Super User toto44@inbox.ru <p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample">В принципе и так все понятно - задаешь название привилегии и, </span><span class="f_CodeExample">если это возможно, система их тебе дает.</span></span></p> <p class="p_CodeExample"> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/poluchenie-dopolnitelnykh-privilegij-pod-nt.html">Подробнее...</a></p> <p class="p_CodeExample"><span style="font-size: 12pt;"><span class="f_CodeExample">В принципе и так все понятно - задаешь название привилегии и, </span><span class="f_CodeExample">если это возможно, система их тебе дает.</span></span></p> <p class="p_CodeExample"> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/poluchenie-dopolnitelnykh-privilegij-pod-nt.html">Подробнее...</a></p> Проверить не запущена ли terminal client session? 2017-12-11T21:12:29+07:00 2017-12-11T21:12:29+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/proverit-ne-zapushchena-li-terminal-client-session.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsRemoteSession: Boolean;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sm_RemoteSession = </span><span class="f_CodeExample" style="color: #800000;">$1000</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ from WinUser.h }</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := GetSystemMetrics(sm_RemoteSession) &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsRemoteSession: Boolean;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">const</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sm_RemoteSession = </span><span class="f_CodeExample" style="color: #800000;">$1000</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #000080;">{ from WinUser.h }</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Result := GetSystemMetrics(sm_RemoteSession) &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Создание именных каналов 2017-12-11T21:16:29+07:00 2017-12-11T21:16:29+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/sozdanie-imennykh-kanalov.html Super User toto44@inbox.ru <p><span style="font-size: 12pt;"><span style="color: #000000; font-style: italic;"> </span><span style="color: #000000;"> </span></span><br /><span style="font-size: 12pt;"><span style="color: #000000;">В</span> <span style="color: #000000;">этой</span> <span style="color: #000000;">статье</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">будем</span> <span style="color: #000000;">разбирать</span> <span style="color: #000000;">связь</span> <span style="color: #000000;">двух</span> <span style="color: #000000;">приложений</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">именных</span> <span style="color: #000000;">каналов</span><span style="color: #000000;"> (named pipes). </span><span style="color: #000000;">Рассмотрим</span> <span style="color: #000000;">типы</span> <span style="color: #000000;">каналов</span><span style="color: #000000;">, </span><span style="color: #000000;">а</span> <span style="color: #000000;">также</span> <span style="color: #000000;">создадим</span> <span style="color: #000000;">клиент</span> <span style="color: #000000;">и</span> </span><br /><span style="font-size: 12pt;"><span style="color: #000000;">сервер</span><span style="color: #000000;">.</span></span><br /><span style="color: #000000; font-size: 12pt;"> </span><br /><span style="font-size: 12pt;"><span style="color: #000000;">1.</span><span style="color: #000000;">Для</span> <span style="color: #000000;">чего</span> <span style="color: #000000;">именные</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">нужны</span><span style="color: #000000;">:</span></span><br /><span style="font-size: 12pt;"><span style="color: #000000;">Именные</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">являются</span> <span style="color: #000000;">средством</span> <span style="color: #000000;">«общения»</span> <span style="color: #000000;">программ</span><span style="color: #000000;">. </span><span style="color: #000000;">Они</span> <span style="color: #000000;">широко</span> <span style="color: #000000;">используются</span> <span style="color: #000000;">в</span><span style="color: #000000;"> UNIX-</span><span style="color: #000000;">подобных</span> <span style="color: #000000;">системах</span><span style="color: #000000;">, </span><span style="color: #000000;">однако</span> <span style="color: #000000;">и</span> <span style="color: #000000;">в</span><span style="color: #000000;"> Windows </span><span style="color: #000000;">они</span> <span style="color: #000000;">нашли</span> <span style="color: #000000;">применение</span><span style="color: #000000;">. </span><span style="color: #000000;">С</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">именных</span> <span style="color: #000000;">каналов</span> <span style="color: #000000;">можно</span> <span style="color: #000000;">передать</span> <span style="color: #000000;">любую</span> <span style="color: #000000;">информацию</span><span style="color: #000000;">, </span><span style="color: #000000;">так</span> <span style="color: #000000;">как</span> <span style="color: #000000;">все</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">работают</span> <span style="color: #000000;">через</span> <span style="color: #000000;">файлы</span><span style="color: #000000;">. </span><span style="color: #000000;">Даже</span> <span style="color: #000000;">для</span> <span style="color: #000000;">чтения</span><span style="color: #000000;">\</span><span style="color: #000000;">записи</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">в</span> <span style="color: #000000;">канале</span> <span style="color: #000000;">используется</span> <span style="color: #000000;">функция</span><span style="color: #000000;"> WinAPI </span><span style="color: #000000;">для</span> <span style="color: #000000;">работы</span> <span style="color: #000000;">с</span> <span style="color: #000000;">файлами</span> <span style="color: #000000;">–</span><span style="color: #000000;"> ReadFile() </span><span style="color: #000000;">и</span><span style="color: #000000;"> WriteFile(). </span><span style="color: #000000;">Передаваться</span> <span style="color: #000000;">может</span> <span style="color: #000000;">переменная</span> <span style="color: #000000;">любого</span> <span style="color: #000000;">типа</span><span style="color: #000000;"> (Integer, Boolean, Tbitmap </span><span style="color: #000000;">и</span> <span style="color: #000000;">так</span> <span style="color: #000000;">далее</span><span style="color: #000000;">). </span><span style="color: #000000;">Однако</span><span style="color: #000000;">, </span><span style="color: #000000;">надо</span> <span style="color: #000000;">заметить</span><span style="color: #000000;">, </span><span style="color: #000000;">что</span> <span style="color: #000000;">для</span> <span style="color: #000000;">передачи</span> <span style="color: #000000;">строки</span><span style="color: #000000;">, </span><span style="color: #000000;">она</span> <span style="color: #000000;">должна</span> <span style="color: #000000;">быть</span> <span style="color: #000000;">ограничена</span> <span style="color: #000000;">–</span><span style="color: #000000;"> String[40]; </span><span style="color: #000000;">Иначе</span> <span style="color: #000000;">при</span> <span style="color: #000000;">чтении</span> <span style="color: #000000;">канала</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">появляться</span> <span style="color: #000000;">ошибка</span><span style="color: #000000;">.</span></span><br /><span style="color: #000000; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/sozdanie-imennykh-kanalov.html">Подробнее...</a></p> <p><span style="font-size: 12pt;"><span style="color: #000000; font-style: italic;"> </span><span style="color: #000000;"> </span></span><br /><span style="font-size: 12pt;"><span style="color: #000000;">В</span> <span style="color: #000000;">этой</span> <span style="color: #000000;">статье</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">будем</span> <span style="color: #000000;">разбирать</span> <span style="color: #000000;">связь</span> <span style="color: #000000;">двух</span> <span style="color: #000000;">приложений</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">именных</span> <span style="color: #000000;">каналов</span><span style="color: #000000;"> (named pipes). </span><span style="color: #000000;">Рассмотрим</span> <span style="color: #000000;">типы</span> <span style="color: #000000;">каналов</span><span style="color: #000000;">, </span><span style="color: #000000;">а</span> <span style="color: #000000;">также</span> <span style="color: #000000;">создадим</span> <span style="color: #000000;">клиент</span> <span style="color: #000000;">и</span> </span><br /><span style="font-size: 12pt;"><span style="color: #000000;">сервер</span><span style="color: #000000;">.</span></span><br /><span style="color: #000000; font-size: 12pt;"> </span><br /><span style="font-size: 12pt;"><span style="color: #000000;">1.</span><span style="color: #000000;">Для</span> <span style="color: #000000;">чего</span> <span style="color: #000000;">именные</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">нужны</span><span style="color: #000000;">:</span></span><br /><span style="font-size: 12pt;"><span style="color: #000000;">Именные</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">являются</span> <span style="color: #000000;">средством</span> <span style="color: #000000;">«общения»</span> <span style="color: #000000;">программ</span><span style="color: #000000;">. </span><span style="color: #000000;">Они</span> <span style="color: #000000;">широко</span> <span style="color: #000000;">используются</span> <span style="color: #000000;">в</span><span style="color: #000000;"> UNIX-</span><span style="color: #000000;">подобных</span> <span style="color: #000000;">системах</span><span style="color: #000000;">, </span><span style="color: #000000;">однако</span> <span style="color: #000000;">и</span> <span style="color: #000000;">в</span><span style="color: #000000;"> Windows </span><span style="color: #000000;">они</span> <span style="color: #000000;">нашли</span> <span style="color: #000000;">применение</span><span style="color: #000000;">. </span><span style="color: #000000;">С</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">именных</span> <span style="color: #000000;">каналов</span> <span style="color: #000000;">можно</span> <span style="color: #000000;">передать</span> <span style="color: #000000;">любую</span> <span style="color: #000000;">информацию</span><span style="color: #000000;">, </span><span style="color: #000000;">так</span> <span style="color: #000000;">как</span> <span style="color: #000000;">все</span> <span style="color: #000000;">каналы</span> <span style="color: #000000;">работают</span> <span style="color: #000000;">через</span> <span style="color: #000000;">файлы</span><span style="color: #000000;">. </span><span style="color: #000000;">Даже</span> <span style="color: #000000;">для</span> <span style="color: #000000;">чтения</span><span style="color: #000000;">\</span><span style="color: #000000;">записи</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">в</span> <span style="color: #000000;">канале</span> <span style="color: #000000;">используется</span> <span style="color: #000000;">функция</span><span style="color: #000000;"> WinAPI </span><span style="color: #000000;">для</span> <span style="color: #000000;">работы</span> <span style="color: #000000;">с</span> <span style="color: #000000;">файлами</span> <span style="color: #000000;">–</span><span style="color: #000000;"> ReadFile() </span><span style="color: #000000;">и</span><span style="color: #000000;"> WriteFile(). </span><span style="color: #000000;">Передаваться</span> <span style="color: #000000;">может</span> <span style="color: #000000;">переменная</span> <span style="color: #000000;">любого</span> <span style="color: #000000;">типа</span><span style="color: #000000;"> (Integer, Boolean, Tbitmap </span><span style="color: #000000;">и</span> <span style="color: #000000;">так</span> <span style="color: #000000;">далее</span><span style="color: #000000;">). </span><span style="color: #000000;">Однако</span><span style="color: #000000;">, </span><span style="color: #000000;">надо</span> <span style="color: #000000;">заметить</span><span style="color: #000000;">, </span><span style="color: #000000;">что</span> <span style="color: #000000;">для</span> <span style="color: #000000;">передачи</span> <span style="color: #000000;">строки</span><span style="color: #000000;">, </span><span style="color: #000000;">она</span> <span style="color: #000000;">должна</span> <span style="color: #000000;">быть</span> <span style="color: #000000;">ограничена</span> <span style="color: #000000;">–</span><span style="color: #000000;"> String[40]; </span><span style="color: #000000;">Иначе</span> <span style="color: #000000;">при</span> <span style="color: #000000;">чтении</span> <span style="color: #000000;">канала</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">появляться</span> <span style="color: #000000;">ошибка</span><span style="color: #000000;">.</span></span><br /><span style="color: #000000; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/sozdanie-imennykh-kanalov.html">Подробнее...</a></p> Управление NT-сервисами 2017-12-11T16:50:50+07:00 2017-12-11T16:50:50+07:00 https://delphi-hlp.ru/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/upravlenie-nt-servisami.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующие TServiceManager класс может быть использован для управления NT-сервисами.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Вы можете делать такие вещи как запуск, остановка, приостановка и запрос состояния.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/upravlenie-nt-servisami.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующие TServiceManager класс может быть использован для управления NT-сервисами.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Вы можете делать такие вещи как запуск, остановка, приостановка и запрос состояния.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/servisy-nt-i-drajvery-funktsii-spetsifichnye-dlya-xp/upravlenie-nt-servisami.html">Подробнее...</a></p>