LockWorkStation для NT

From
Igor Vartanov (2:5025/38.70)
To
Yaroslav Chupriy
Date
2002-03-23T00:40:16Z
Area
SU.WINDOWS.NT.PROG
    Здравствуй, Yaroslav!

    Wednesday March 20 2002 Yaroslav Chupriy сообщил niro:

 YC> Пытался найти сабж и напоролся вот на что:
 YC> LockWindowStation и
 YC> UnlockWindowStation
 YC> В MSDN так точно нет ничего подобного :)
 YC> Обе функции находяться в библиотеке(W2k) user32.dll. Это что опять
 YC> секреты от мелкософта? Кто может подсказать как их можно вызвать?

────────────────────[ Begin of Windows Clipboard ]────────────────────
_NtUserLockWindowStation@4:
  77E13253: B8 B7 11 00 00     mov         eax,11B7h
  77E13258: 8D 54 24 04        lea         edx,[esp+4]
  77E1325C: CD 2E              int         2Eh
  77E1325E: C2 04 00           ret         4
────────────────────[  End of Windows Clipboard  ]────────────────────

    Как видим, один параметр таки присутствует. И это скорее всего HWINSTA.

 YC> но выдает ошибку о некоректном вызове, что-то со стеком(ESP).
 YC> Значение ESI: 0x0012FF28
 YC>          ESP: 0x0012FF2C
 YC> перед  cmp ESI, ESP

 YC> Это значит что функция сделала лишний pop?

    Это значит, что ты вызываешь функцию как __cdecl, а она на самом деле __stdcall. Отсюда и "лишний" pop.


    С уважением.

    Игорь

--- mailto: ivartanov@rsdn.ru  ( http://www.rsdn.ru )
 * Origin: Следи за своим юмором! Ибо и женщины читают ориджины. (2:5025/38.70)