Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как средствами API создать службу на удалённом компе?

36K
23 апреля 2009 года
lesovick
22 / / 09.04.2009
Пытаюсь сделать так:

IntPtr schSCManager = OpenSCManager("winxp1-vm", null, (uint)(MyFlags.SC_MANAGER_CREATE_SERVICE));
CreateService
(
schSCManager, // SCManager database
"Service1", // name of service
"Service1", // service name to display
(uint)(SERVICE_ACCESS.SERVICE_ALL_ACCESS), // desired access
(uint)(MyFlags.SERVICE_WIN32_OWN_PROCESS) | (uint)(MyFlags.SERVICE_INTERACTIVE_PROCESS), // service type
(uint)(MyFlags.SERVICE_AUTO_START), // start type
(uint)(MyFlags.SERVICE_ERROR_NORMAL), // error control type
"D:\\WindowsService1.exe", // service's binary
null, // no load ordering group
null, // no tag identifier
null, // no dependencies
null, // LocalSystem account
null
); // no password

Если в параметрах OpenSCManager прописываю имя своего компа, то всё ОК, служба создаётся. Если в параметрах OpenSCManager прописываю имя удалённого компа из локалки, то schSCManager=0, службу создать не получается. Что не так? Вобще можно создавать так службу на удалённом компе?

SC_MANAGER_CREATE_SERVICE определяется так:

[Flags]
enum MyFlags : uint
{
SC_MANAGER_CREATE_SERVICE = 0x0002,
}

Функция OpenSCManager по Pinvoke.net подключается так:

[DllImport("advapi32.dll", EntryPoint = "OpenSCManagerW", ExactSpelling = true, CharSet = CharSet.Unicode, SetLastError = true)]
public static extern IntPtr OpenSCManager(string machineName, string databaseName, uint dwAccess);
7
23 апреля 2009 года
@pixo $oft
3.4K / / 20.09.2006
0)Возможно,взаимодействие с удалённым компьютером запрещено(как с удалённым реестром,например–если не запущена служба)
1)Учётная запись администратора?
2)Может,следует перед именем компьютера ставить "\\"(возможно,следует учесть,что в C++ для обозначения одного слэша требуется указать пару)
3)MSDN читали?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог