Мне только что удалось написать глобальный хук CBT на С++, который можно использовать с С#. Это может звучать глупо, но я очень плохо разбираюсь в указателях и их разыменовании из-за моей работы с С#.
Я не могу разыменовать указатель внутри структуры, на которую указывает lParam.
Это выглядит так: lParam — это длинный указатель на структуру CBT_CREATEWND, которая, в свою очередь, содержит элемент «lpcs» и указатель на CREATESTRUCT. Эта структура содержит член "x", который я хочу прочитать. Я пробовал следующее, но получаю недопустимые значения для x:
CREATESTRUCT str = *(LPCREATESTRUCT)(((LPCBT_CREATEWND)lParam)->lpcs);
int normal = str.x;
PostMessage(FindWindow(NULL, L"Process Watcher Window"), RegisterWindowMessage(L"ALEXX_SEINE_WNDMESSAGE_C"), wParam, normal);
может кто-нибудь, пожалуйста, помогите мне?
lpcs
уже имеет типLPCREATESTRUCT
. - person Nawaz   schedule 18.01.2011