|
|
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
Есть диалоговое окно, у которого нет заголовка, т.е. caption = “”. Как мне получить его handle? Если использовать EnumWindows, то оно не будет обнаружено, поэтому я решил воспользоваться EnumProcesses и EnumProcessModules. С их помощью я выясняю работает или нет exe-шник приложения, но как добраться до этого окна пока, что-то не допёр, натолкните на мыслю… Спасибо. -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2006, 23:24 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
Запускаешь spy++ что идет в комплекте с VC. Им выбираешь нужное окно. Spy++ покажет тебе имя класса окна. Потом отдаешь это имя класса в FindWindow первым параметром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2006, 01:21 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
White OwlЗапускаешь spy++ что идет в комплекте с VC. Им выбираешь нужное окно. Spy++ покажет тебе имя класса окна. Потом отдаешь это имя класса в FindWindow первым параметром. класс CDialog, только спай показывает его в виде #32770 (или что-то типа того), этого будет недостаточно, т.к. в этот момент могут работать и другие диалоги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2006, 08:55 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
Если прога ваша, то было бы удобно задать уникальное имя класса для этого диалога. Если нет, то можно хэндл парента скормить FindWindowEx, тогда поиск будет осуществляться только для выбранного приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2006, 17:45 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
Нет, к сожалению, прога не моя. На самом деле, в цикле CALLBACK EnumWindowProc было "небольшое недоразумение", которое приводило к тому, что окна, у которых не было заголовков функция не находила, я это исправил - все работает. Теперь не могу нажать на кнопку с помощью SendInput, написать текст в CEdit у меня получается, даже изменить саму надпись на кнопке, но нажатие не фиксируется... у кого-нибудь есть пример использования этой функции или может есть ссылка в MSDN'е (VS2005)? Заранее благодарен. -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 08:11 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
В MSDN, вроде, всё расписано... перед использованием надо заполнить 2 структуры: INPUT и MOUSEINPUT или KEYBDINPUT, можно с ними разобраться, но, по-моему, проще будет что-то вроде: SendMessage(hWnd,WM_LBUTTONDOWN,0,0); SendMessage(hWnd,WM_LBUTTONUP,0,0); или ч/з mouse_event/keybd_event... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 10:38 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
я делаю следующим образом Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. но это не работает почему-то, предложенный вариант из 2 SendMessage тоже! -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 10:49 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
все - получилось с двумя Send'ами Спасибо Dmitrii K. ! -------------------------------------------------------------- [подпись с другого сайта] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 11:11 |
|
||
|
неуловимое окно
|
|||
|---|---|---|---|
|
#18+
Кстати, GetLastError() на вашем коде после SendInput говорит 87, то бишь ERROR_INVALID_PARAMETER. Так что там шо то не то с параметрами для SendInput... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=328&tid=2030221]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
282ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 552ms |

| 0 / 0 |
