|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.10.2014, 05:50 | #1 |
Пользователь
Регистрация: 17.06.2014
Сообщений: 36
|
CBTProc
Привет. Ребята, такой вопрос. Хочу перехватить создание окна, да бы задать свои параметры (имя\класс).
Вот код функции: Код:
Подскажите, в чем моя проблема, или как правильно осуществить задуманное? |
11.10.2014, 07:25 | #2 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
А куда указывает Pointer(lParam)? На сруктуру CREATESTRUCT создающегося ЧУЖОГО окна, штоли? Тогда какого Х эта структура находится в памяти ТВОЕГО процесса?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
11.10.2014, 15:18 | #3 |
Пользователь
Регистрация: 17.06.2014
Сообщений: 36
|
Не ясно, запилил библиотеку, все как положено, активирую хук, при создании окна, а именно при перехвате, делал отсылку значений cx, cy, x, y, структуры CREATESCRUCT в свою программу, получал неведомые значения. Вот я и говорю, в чем проблема?
|
11.10.2014, 15:42 | #4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
имхо, указатель будет на копию данных структуры, и изменение этих данных на оригинал, находящийся в контексте другого процесса, никак не повлияет, ибо это копия данных.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
11.10.2014, 16:00 | #5 |
Пользователь
Регистрация: 17.06.2014
Сообщений: 36
|
И каким образом осуществить задуманное?
|
11.10.2014, 16:24 | #6 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
11.10.2014, 16:26 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
min@y™, бред пишите.
Согласно докам по указателю в LParam лежит CBT_CREATEWND у которой параметр lpcs, указывает на CREATESTRUCT окна, чье создание перехвачено хуком. Никаких копий чего-то куда-то не надо, все прозрачно делается операционной системой. Тебе сиди да меняй параметры создаваемого окна. Код:
Последний раз редактировалось Человек_Борща; 11.10.2014 в 16:29. |
11.10.2014, 16:30 | #8 |
Пользователь
Регистрация: 17.06.2014
Сообщений: 36
|
В первом сообщении темы, написано, что я задумал. Привел код функции, но у меня не работает, точнее работает, но некорректно, поэтому и обратился за помощью.
|
11.10.2014, 16:46 | #9 | |||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Цитата:
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|||
11.10.2014, 16:53 | #10 |
Пользователь
Регистрация: 17.06.2014
Сообщений: 36
|
Что бы изменить параметры lpszClass\lpszName.
Попробовал так: Код:
|