Russian Qt Forum

Qt => Работа с сетью => Тема начата: shaft_s от Февраль 23, 2008, 11:18



Название: проблеммы с win32api и сетевыми дисками
Отправлено: shaft_s от Февраль 23, 2008, 11:18
имеется основное приложение и в нем прекрасно работает такая конструкция

Код:
DWORD dwResult;
   
  NETRESOURCEW nr;
  QString ShareName,RemoteName,user,pass,Comment,Provider;
  ShareName="u:";
  RemoteName.append("\\\\10.2.3.37\\data");
  user="12345";
  pass="qqqqq";
   Comment="";
   Provider="";
   
  nr.dwScope=RESOURCE_GLOBALNET;
    nr.dwType=RESOURCETYPE_DISK;
      nr.dwDisplayType=RESOURCEDISPLAYTYPE_GENERIC;
    nr.dwUsage=RESOURCEUSAGE_CONNECTABLE;
    nr.lpLocalName=(WCHAR*)ShareName.data();
     nr.lpComment=(WCHAR*)Comment.data();
    nr.lpRemoteName =(WCHAR*)RemoteName.data();
    nr.lpProvider=(WCHAR*)Provider.data();
 
 dwResult= WNetAddConnection2(&nr,(WCHAR*)user.data(),(WCHAR*)pass.data(),CONNECT_UPDATE_PROFILE);

но этот же код не работает в qtservice-2.3 выдает ошибку 59 (ERROR_UNEXP_NET_ERR) где могут быть грабли!!!


Название: Re: проблеммы с win32api и сетевыми дисками
Отправлено: Вячеслав от Февраль 23, 2008, 12:28
Сервис от какого акка запускаеться ? Права все есть ?


Название: Re: проблеммы с win32api и сетевыми дисками
Отправлено: shaft_s от Февраль 23, 2008, 13:00
запускаю по умолчанию без юзера и пасс, а как программно узнать имя и пароль админа!!!


Название: Re: проблеммы с win32api и сетевыми дисками
Отправлено: White Owl от Февраль 25, 2008, 18:19
запускаю по умолчанию без юзера и пасс, а как программно узнать имя и пароль админа!!!
Все сервисы по умолчанию запускаются от имени юзера 'Local System', у этого юзера нету прав для доступа к сети. Вообще нет.
Надо запускать сервис от имени юзера с достаточными правами. Да, надо знать логин и пароль. Проще всего спросить их у юзера во время инсталляции.