Winlogon: смена пользователя

Тема в разделе "WASM.NT.KERNEL", создана пользователем retmas, 30 мар 2007.

  1. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    Добрый день!

    Как можно программно переключить пользователя в системе на другого (Fast User Switching)?
    Куда копать? Может кто-нить знает... Нужна любая информация!!!!
     
  2. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    неужели так сложно открыть мсдн и написать в поиске "Fast User Switching" ?
     
  3. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    и что... я там не смог ничего найти...
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    http://www.google.ru/search?hl=ru&q=msdn+fast+user+switching&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=

    первый ссыль на MSDN, там функции некоторые описаны
     
  5. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    а как ты пробовал искать?
     
  6. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    не вижу не одной, которая хоть как-нить помогла решить проблему....
     
  7. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    http://www.google.com/search?hl=en&q=%22Fast+User+Switching%22+programmatically+-disable+inurl%3Amsdn&btnG=Search
    =))
     
  8. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    Код (Text):
    1. #include "wtsapi32.h"
    2.  
    3. // return 1 on success, or same no zero value otherwise (usually 0x7ffde000).
    4. typedef
    5. DWORD
    6. (APIENTRY *WinStationConnectWProcType)
    7. (
    8.     DWORD dwReserved,               // Reserved, must be 0.
    9.     DWORD dwDestinationSessionId,           // ID of destination session.
    10.     DWORD dwCurrentSessionId,           // Must be valid ID of the active session,
    11.                             // may be WTS_CURRENT_SESSION (-1).
    12.     LPWSTR lpZeroDword,             // Pointer to unicode string,
    13.                             // normally this string must be empty.
    14.     DWORD dwReserved1               // Must be 1. Really it's value are ignored.
    15. );
    16.  
    17. ...
    18.  
    19.     HMODULE hWinStaDll;
    20.     WinStationConnectWProcType WinStationConnectW= NULL;
    21.    
    22.     hWinStaDll= LoadLibrary("WinSta.dll");
    23.  
    24.     if(hWinStaDll)
    25.         WinStationConnectW= (WinStationConnectWProcType)GetProcAddress(hWinStaDll, "WinStationConnectW");
    26.  
    27.     if(!WinStationConnectW)
    28.         <обработка ошибок>
    29.  
    30.     if(WinStationConnectW(0, dw_ID_of_connected_session, WTS_CURRENT_SESSION, L"", 1)!=1)
    31.     {
    32.         <обработка ошибок>
    33.     }
     
  9. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    а что если второй пользователь еще не залогинился? и его сессия еще не создана?
     
  10. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    тогда ты на него не переключишься
     
  11. retmas

    retmas New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2005
    Сообщения:
    100
    не знаешь как можно программно залогиниться?
     
  12. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    не-а )
    узнаешь как - скажи..
     
  13. bgrh

    bgrh New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2008
    Сообщения:
    1
    см.
    http://www.remkoweijnen.nl/blog/2008/11/26/executing-a-fast-user-switch-programmatically-part-1/
    http://www.remkoweijnen.nl/blog/2008/11/26/executing-a-fast-user-switch-programmatically-part-2/
     
  14. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Продизассембль Winlogon и посмотри - как он выходит из учетной записи. Или запусти Ice и поставь бряки на те функции, о которых ты уже читал.
    Для логина попробуй подключить Kernel Debugger (отладчик от Microsoft) с другого компьютера.
     
  15. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    retmas
    API LogonUser.