PDA

Просмотр полной версии : Отправка сообщений окну


FLIER
13.09.2008, 17:25
Кто знает какое сообщение нужно послать вот этому окну:
http://img99.imageshack.us/img99/4489/test2hi6.th.png
что-бы имитировать клик по "кнопочке" "Разрешить" ?
На форуме Касперского написано что окно не реагирует на сообщения SendMessage/PostMessage
но это не так :)
Подскажите какие параметры передать...или чем можно это просмотреть...???
Заранее спасибо!
вопрос также задан вот здесь: http://forum.xakep.ru/m_1224073/tm.htm

0x0c0de
13.09.2008, 18:12
2FLIER в составе Microsoft Visual Studio [Tools] есть утилита Spy++, которая позволяет посмотреть какие сообщения отсылаются окну

0verbreaK
13.09.2008, 18:42
FLIER определяешь по заголовку описатель окна


invoke FindWindow, NULL, addr szCaption
.if eax!=NULL
invoke SetCursorPos, 120, 130
invoke PostMessage, eax, WM_RBUTTON, 1, 0
.endif

как то так)))

0x0c0de
13.09.2008, 19:09
Ну да, конечно, очень универсально SetCursorPos. Нет бы по-нормальному дочерние окна перебрать и отослать сообщение. Здесь пример перебора - адаптировать ничего не стоит под сабж

http://msdn.microsoft.com/en-us/library/ms632598(VS.85).aspx#creating_enumerating_etc

FLIER
14.09.2008, 14:12
2FLIER в составе Microsoft Visual Studio [Tools] есть утилита Spy++, которая позволяет посмотреть какие сообщения отсылаются окну

Спасибо...попробую

main := FindWindow(nil,'Запрос прав - Kaspersky Internet Security 2009');
Это понятно...но функция EnumChildWindow не возвращает дескрипторы...

0x0c0de
14.09.2008, 17:24
>> EnumChildWindow не возвращает дескрипторы...
По той ссылке, что я вам дала


EnumChildWindows(hwnd, EnumChildProc, (LPARAM) &rcClient);


...


BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam)
{
...
}



Второй параметр, калбак функция. будьте внимательней

12usver12
14.09.2008, 18:36
забудь эту затею врядли шото получиться именно над кашпером

FLIER
14.09.2008, 19:27
>> EnumChildWindow не возвращает дескрипторы...
По той ссылке, что я вам дала


EnumChildWindows(hwnd, EnumChildProc, (LPARAM) &rcClient);


...


BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam)
{
...
}



Второй параметр, калбак функция. будьте внимательней

Пишу на Delphi:


function GetWindText(AHandle: THandle): String;
var
cb : DWord;
begin
cb := SendMessage(AHandle, WM_GETTEXTLENGTH, 0, 0);
SetLength(Result, cb);
if cb > 0 then
SendMessage(AHandle, WM_GETTEXT, cb+1, LParam(@Result[1]));
end;

function GetChild(h:hwnd):boolean;stdcall;
var
str:string;
begin
str := GetWindText(h);
if str <> '' then
begin
form1.Memo1.Lines.Add(str);
end;
Result := True;
end;
-----.....
main:= FindWindow(nil,'Запрос прав - Kaspersky Internet Security 2009')
EnumChildWindows(main,@GetChild,0);
-----.....


Мемо заполняется только доступной информацией...доступ к надписям отсуцтвует...SPY++ также не выдаёт ID :(

FLIER
16.09.2008, 13:32
Хорошо...может тогда кто-то знает как имитироваль клик мыши ТАК, что бы всё система думала что соединились два контакта?

NuR
16.09.2008, 13:57
подключать к мозгу юзера электрод, и с его помощью стимулировать мозговую активность ТАК чтобы тот тыкал по мышке =)

FLIER
16.09.2008, 14:11
подключать к мозгу юзера электрод, и с его помощью стимулировать мозговую активность ТАК чтобы тот тыкал по мышке =)

Хорошо..только мне нужно программо..если есть код...то выложи...