![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Unconnected |
![]()
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Привет всем.
Мне нужно узнать хэндл окна. Допустим, запускаю я cmd через ShellExecute, и нужно мне получить её хэндл. Через FindWindow нельзя, т.к. заголовок cmd может быть разный - у некоторых в начале приписывается "Администратор" (видимо, сидят под администратором). Я думаю, можно перебирать все окна и искать по слову cmd в заголовке. Попробовал ф-ю EnumWindows, вот так:
, и нифига, getmodulename не хочет возвращать имя файла по хэндлу. Помогите, а то меня скоро в гугле как ддос-бота забанят)) -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Разобрался, узнал много нового ) Только вот этот код у меня, в консольном приложении (видимо, вся соль именно в этом), не отрабатывал и выбивал ошибку, мол, не вызвано CoInitialize. Я добавил строчку CoInitialize(nil) в самом начале процедуры и CoUninintialize в конце, работать стало, но всё равно выдавало AV в конце программы, пришлось убрать CoUninitialize (это, наверное, и неправильно, но и мне ошибки не нужны)).
Кстати, там при передаче сообщения Эдиту использовалась SendMessage, а при передаче кнопке - Post. Это типа чтобы текст эдиту присвоился, информация об этом вернулась и только потом нажалась бы кнопка? //проникся блогом, оказалось, я истинный CodeMonkey, прямо по всем признакам ![]() Сообщение отредактировано: Unconnected - 31.05.2010 16:14 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 18:45 |