Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аналоги WNetAddConnection2 в C# 
V
    Опции темы
teRmit
Дата 26.6.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


забытый...
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.6.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Какие аналоги существуют в C# сишному методу WNetAddConnection2?
Или как можно сделать то же самое действие, но другими способами?
Мне нужно просто подключиться к удаленному компьютеру. 
--------------------
Жизнь не настолько длинна, чтобы можно было долго терпеть...
PM ICQ   Вверх
mr.DUDA
Дата 26.6.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232





--------------------
user posted image
PM MAIL WWW   Вверх
teRmit
Дата 26.6.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


забытый...
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.6.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Пробовал, заставить работать не смог... 
--------------------
Жизнь не настолько длинна, чтобы можно было долго терпеть...
PM ICQ   Вверх
teRmit
Дата 27.6.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


забытый...
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.6.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 9



В общем, делаю так:
Код

[StructLayout(LayoutKind.Sequential)]
    public class NETRESOURCE
    {    
        public int dwScope;    
        public int dwType;
        public int dwDisplayType;    
        public int dwUsage;    
        public string LocalName;    
        public string RemoteName;    
        public string Comment;    
        public string Provider;
    }
...
[DllImport("mpr.dll")] 
        static extern int WNetAddConnection2( NETRESOURCE netResource,
            string password, string username, int flags);

NETRESOURCE rc = new NETRESOURCE();
rc.dwType = 0x00000000;
rc.RemoteName = @"\\hostname";
rc.Provider = null;
int ret = WNetAddConnection2(rc, "pass", "username", 0);


либо так:

Код

[StructLayout(LayoutKind.Sequential)]
public struct NETRESOURCE
{    
    public int dwScope;    
    public int dwType;
    public int dwDisplayType;    
    public int dwUsage;    
    public string LocalName;    
    public string RemoteName;    
    public string Comment;    
    public string Provider;
}
...
[DllImport("mpr.dll")] 
        static extern int WNetAddConnection2(ref NETRESOURCE netResource,
            string password, string username, int flags);

NETRESOURCE rc = new NETRESOURCE();
rc.dwType = 0x00000000;
rc.RemoteName = @"\\hostname";
rc.Provider = null;
int ret = WNetAddConnection2(ref rc, "pass", "username", 0);


Все время возвращает ошибку, либо 67 (The network name cannot be found), либо 1200 (The specified device name is invalid). Хотя в С++ все работает...

Что я делаю не так? Ткните носом пжалста! smile 
--------------------
Жизнь не настолько длинна, чтобы можно было долго терпеть...
PM ICQ   Вверх
teRmit
Дата 27.6.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


забытый...
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.6.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Вопрос снят. Всем спасибо. smile 
--------------------
Жизнь не настолько длинна, чтобы можно было долго терпеть...
PM ICQ   Вверх
arilou
Дата 27.6.2006, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



teRmit, а поделиться ответом? 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
teRmit
Дата 28.6.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


забытый...
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.6.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 9



Код

using System;
using System.Runtime.InteropServices;
...
[StructLayout(LayoutKind.Sequential)]
public struct NETRESOURCE
{    
    public int dwScope;    
    public int dwType;
    public int dwDisplayType;    
    public int dwUsage;    
    public string LocalName;    
    public string RemoteName;    
    public string Comment;    
    public string Provider;
}

[DllImport("mpr.dll", SetLastError=true)] 
static extern int WNetAddConnection2(ref NETRESOURCE netResource,
                         string password, string username, int flags);
...
private void ImpersonateUser(string machine)
{
    NETRESOURCE rc = new NETRESOURCE();
    rc.dwType = 0x00000000;
    rc.RemoteName = @"\\" + machine + @"\IPC$";
    rc.LocalName = null;
    rc.Provider = null;
    int ret = WNetAddConnection2(ref rc, m_password, m_username, 0);
    ...
}


И быть внимательным к кредам для доступа к машине smile 
--------------------
Жизнь не настолько длинна, чтобы можно было долго терпеть...
PM ICQ   Вверх
Cold_Almaty
Дата 23.1.2008, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 22.1.2008

Репутация: нет
Всего: нет



Как добывить вызов этой функции в обработчик кнопки?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0755 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.