Сейчас на форуме: jinoweb, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Диалоговое наг окно в VB
Посл.ответ Сообщение

Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 20 ноября 2016 18:59
· Личное сообщение · #1

Это в некотором роде продолжение ранее мной начатой и уже закрытой темы.
В программе на VB два наг окна. 1-й - на таймере - мне удалось его победить, а
2-й - диалоговый, ждет нажатия кнопки, - никак не поддается! С помощью функций
CreateWindowExA и ShowWindow я отлавливаю, где оно создается и открывается.
Манипулируя стилями ExtStyle и style , а также параметром ShowState , мне
удается убрать с экрана наг окно - но программа всё-равно стоит, ждёт ответа
от этого окна! Может быть я не те параметры давал функциям? Но даже если
и найдутся подходящие, этот способ какой-то нехороший! Поскольку эти функции
вызываются из библиотеки VB , а значит её придётся курочить потом.
Может у кого-нибудь на этот счет есть мысль - подскажите, пожалуйста!




Ранг: 338.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 20 ноября 2016 20:22
· Личное сообщение · #2

ksol

Что есть наг" окно ?

> но программа всё-равно стоит, ждёт ответа от этого окна!

Ждёт, что дальше, какая собственно задача ?

Опишите нормально задачу, я не понимаю.

-----
vx





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 20 ноября 2016 21:09
· Личное сообщение · #3

ksol пишет:
С помощью функций
CreateWindowExA и ShowWindow я отлавливаю, где оно создается и открывается.
Манипулируя стилями ExtStyle и style , а также параметром ShowState , мне
удается убрать с экрана наг окно - но программа всё-равно стоит, ждёт ответа
от этого окна!

если наёшл вызов, зачем колдовать со стилями? Просто вызов запатчить и всё.

Добавлено спустя 4 минуты
ksol пишет:
Поскольку эти функции
вызываются из библиотеки VB

Возьми, например, VB Decompiler найди вызов из кода, до библиотеки и там отрежь и создание и показ

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 21 ноября 2016 17:53
· Личное сообщение · #4

Isaev пишет:
Просто вызов запатчить и вс

Так вызов-то не в коде программы, а в коде библиотеки VB ,
а найти к нему вход из кода программы пока не удаётся.
VB Decompiler хороший инструмент, но не всемогущий!
Он показывает статический состав структуры программы, а
дерево связи не даёт. Приходится искать какому элементу
(окну, форме, кнопке) соответствует код и где он.

difexacaw пишет:
Ждёт, что дальше, какая собственно задача ?

Ждёт, чтобы я нажал на ней кнопку, - а мне надо это окно вместе с её кнопкой
сничтожить, не нажимая кнопку!



Ранг: 51.8 (постоянный), 58thx
Активность: 0.03=0.03
Статус: Участник

Создано: 22 ноября 2016 08:52
· Личное сообщение · #5

ksol, а не хотите добавить конкретики и показать таки программу?

Наги обычно присущи демо-версиям. Если ваша программа считает себя незарегистрированной, то, может, стОит попробовать её переубедить (и тем самым устранить саму причину, а не бороться со следствием)?



Ранг: 16.3 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 22 ноября 2016 11:56
· Личное сообщение · #6

ksol пишет:
Ждёт, чтобы я нажал на ней кнопку, - а мне надо это окно вместе с её кнопкой
сничтожить, не нажимая кнопку!

FindWindowEx - > PostMessage, не?



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 22 ноября 2016 13:15
· Личное сообщение · #7

Что за программа хоть, полезная?



Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 22 ноября 2016 18:32
· Личное сообщение · #8

dosprog пишет:
программа хоть, полезная?

Программа старая, но необходимая - используется в работе,
но эти наги...
В двух ярких информационных нагах пишет чья она.
1-й держался примерно 10с таймером, время срабатывания
задавалось в свойствах до запуска программы. Я нашел в коде
момент запуска Timer1.Enabled=True, сделал отсюда выноску
на свободное место и скомпилер перед ним Interval=5 мс -
этот наг теперь почти незаметно промелькивает. Но затем
через некоторое время появляется модальное наг окно,
оно уже требует нажатия кнопки. После нажатия оно исчезает,
программа успокаивается и дальше нормально работает.

VT-x пишет:
FindWindowEx - > PostMessage, не?

Может быть и так! Хотя, CreateWindowExA мне даёт хэндл окна,
и его наверное можно было бы закрыть через Close().
Но дело осложняется тем, что эта функция вызывается из библиотеки VB,
а выноской кода я её испорчу!




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 22 ноября 2016 20:26
· Личное сообщение · #9

ksol пишет:
Так вызов-то не в коде программы, а в коде библиотеки VB,
а найти к нему вход из кода программы пока не удаётся.

Если самому не получается найти, то, как правильно сказали выше, прогу в студию.

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 23 ноября 2016 18:18
· Личное сообщение · #10

- Не, пока сам!


 eXeL@B —› Программирование —› Диалоговое наг окно в VB
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати