Сервисы NT и драйверы, функции специфичные для XP
1. Предисловие.
Приветствую всех любителей Delphi! В этой статье я хочу поведать вам об одной из замечательных, с моей точки зрения, технологии, разработанной Microsoft для облегчения нашей жизни. Теперь любой программист, используя любой современный язык программирования (не исключая и скрип языков!) может с лёгкостью узнать о своём компьютере практически всё. Теперь программисты всех "вероисповеданий" могут определить, какое оборудование установлено на их компьютере, узнать информацию о материнской плате и процессоре, параметры БИОСа, какие процессы запущены в данный момент, какова температура процессора и скорость вращения кулера, какие настройки графической системы, какие.… Одним словом, все о чём вы так долго мечтали, стало доступно благодаря WMI. Звучит заманчиво, не так ли? Естественно, что WMI - это не только набор параметров. А что это такое - читайте ниже.
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Функции для создавания и удаления NT Services. Можно создать NT Service от текущее приложение. Параметры:
1. CreateNTService(ExecutablePath,ServiceName: String)
ExecutablePath - Полный путь к изполнимого файла от которого создавается NT Service
ServiceName - Имя сервиза которое отобразится в Service Control Manager
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то GetLastError чтобы информироваться об естество ошибки
2. DeleteNTService(ServiceName: String):boolean;
ServiceName - имя сервиза подлежающии удаления
Результат:
true - если операциая завершена успешно
false - если есть ошибка. Можно произвести call то GetLastError чтобы информироваться об естество ошибки
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
TScriptControl компонент должен присутствовать на вкладке вашего ActiveX.
Запустите новое приложение и перетащите TButton и TScriptControl в основную форму.
В событии onclick Button1 поместите следующий код:
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Здесь представлены две функции ServiceStart и ServiceStop, которые показывают, как пользоваться API функциями OpenSCManager, OpenService и т.д.:
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Требуется написать управление сервисом, запущеном на другом компьютере. С помошью чего это лучеше сделать?
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Code: |
{ To automatically start a service after its installation use this code }
procedure TMyService.ServiceAfterInstall(Sender: TService); var sm: TServiceManager; begin sm := TServiceManager.Create; try if sm.Connect then if sm.OpenServiceConnection(self.name) then sm.StartService; finally sm.Free; end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
"Совместимость с windows2000 сервер" / "Windows ХР" службы терминалов являются очень важными в компьютерных сетях: каждый клиентский компьютер может эмулировать рабочий стол сервера с помощью простого исполняемого файла названный " mstsc.исполняемый." Этот исполняемый файл использует элемент управления ActiveX "MStscax", определенный в "mstscax.файл DLL." Эти файлы автоматически устанавливаются в Windows XP и Windows Server 2000, но не в ОС Windows 2000 Professional или системе Windows 98. Вы можете скачать весь пакет содержащий
После загрузки исполняемый файл "tsmsisetup.exe", запустите его, чтобы распаковать. Теперь давайте принять во внимание папку "System32": это папка, содержащая
"команду mstsc.exe" и "mstscax.файл DLL." Теперь зарегистрируйте элемент управления ActiveX "MsTscAx":
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Этот код использует преимущества недокументированного NtQuerySystemInformation
API для получения списка загруженных драйверов в Windows NT.
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Причиной написания этой статьи, как не странно, стала необходимость написания своего сервиса. Но в Borland'е решили немного "порадовать" нас, пользователей Delphi 6 Personal, не добавив возможности создания сервисов (в остальных версиях Delphi 5 и 6 эта возможность имеется в виде класса TService). Решив, что еще не все потеряно, взял на проверку компоненты из одноименного раздела этого сайта. Первый оказался с многочисленными багами, а до пробы второго я не дошел, взглянув на исходник - модуль Forms в Uses это не только окошки, но и более 300 килобайт "веса" программы. Бессмысленного увеличения размера не хотелось и пришлось творить свое.
Так как сервис из воздуха не сотворишь, то мой исходник и эта статья очень сильно опираются на MSDN.
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Windows 2000 и более ранних версий: все процессы предоставляются SC_MANAGER_CONNECT,
Права доступа SC_MANAGER_ENUMERATE_SERVICE и SC_MANAGER_QUERY_LOCK_STATUS.
Windows ХР: только зарегистрированные пользователи имеют SC_MANAGER_CONNECT,
SC_MANAGER_ENUMERATE_SERVICE,
и SC_MANAGER_QUERY_LOCK_STATUS права доступа.
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Демонстрация получения информации по сервисам:
- Подробности
- Родительская категория: Windows
- Категория: Сервисы NT и драйверы, функции специфичные для XP
Страница 1 из 2