Страница: 1 |
Страница: 1 |
Вопрос: vb.net скрыть другую программу
Добавлено: 22.06.10 01:45
Автор вопроса: Nevep
Здравствуйте. Подскажите как скрыть форму (или все формы другой программы).
Запускаю преобразование из rar архива в sfx:
Выскакивает окошка преобразовывания, несмотря на то, что стоит vbHide.
Я предполагаю, что это дочернее окно программы winrar, на которое vbHide не действует. Почитал ваш форум, решил скрыть форму с помощью api, но немогу узнать хэндл этой формы.
Такой код к примеру выдаёт каждый раз разные значения (одно из них 2786320828818522112) независимо запущен калькулятор или нет.
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox(FindWindow(vbNullString, "Калькулятор Плюс"))
End Sub
Я предполагал, что FindWindow должно возвратить false если титл ненайден.
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 22.06.10 10:21
Запускай на другом десктопе.
Номер ответа: 2
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #2
Добавлено: 22.06.10 16:07
CreateProcess и в STARTUPINFO скрывать окно.
Номер ответа: 3
Автор ответа:
Nevep
Вопросов: 6
Ответов: 25
Профиль | | #3
Добавлено: 22.06.10 21:05
Делаю так, но всё равно ошибка:
Выводит 1305 ошибку
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 22.06.10 22:00
Зачем такие извращения с API? В NET все гораздо проще..
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 22.06.10 22:07
Судя по его коду, он попутал разделы.
Номер ответа: 6
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #6
Добавлено: 22.06.10 22:08
Неверно, смотри значение dwFlags в STARTUPINFO. Флаг призван показать, какие поля этой структуры используются.
Номер ответа: 7
Автор ответа:
Nevep
Вопросов: 6
Ответов: 25
Профиль | | #7
Добавлено: 22.06.10 22:24
Да, код на С. Но всё равно спасибо. И это не работает...
При создании архива всё норм, окно не выскакивает
Но когда преобразовываю в sfx выскакимает на долю секунды окно
Т.е. либо ProcessWindowStyle.Hidden не скрывает дочерние окна
либо это окно винрара не дочернее (хз бывает ли так)
Номер ответа: 8
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #8
Добавлено: 22.06.10 23:59
Может он ещё одну свою копию стартует?
Номер ответа: 9
Автор ответа:
Nevep
Вопросов: 6
Ответов: 25
Профиль | | #9
Добавлено: 23.06.10 00:06
Может быть...
Поэтому я хотел по названию этой формы узнать её хэндл, а потом уже пытаться скрыть форму зная хэндл окна. Но код из первого сообщения неработает
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 23.06.10 00:30
Это потому что ты юзаешь WinRAR.. а он имеет гуй. А тебе надо юзать консольную версию архиватора,она лежит в том же каталоге и называется просто Rar. Главное окно(консольное) мы скрываем при старте процесса, а других окон у нее нету и выскакивать больше нечему..
А с какого перепуга он их скрывать будет?? Это абсолютно другие окна со своими стилями и своими аттрибутами..
Номер ответа: 11
Автор ответа:
Nevep
Вопросов: 6
Ответов: 25
Профиль | | #11
Добавлено: 23.06.10 00:41
Действительно, переименовал
на
и заработало. Всем спасибо
Номер ответа: 12
Автор ответа:
Lim
ICQ: 397722597
Вопросов: 1
Ответов: 7
Профиль | | #12
Добавлено: 24.06.10 07:41
теперь можешь вернуться к свеому первоначальному, более простому варианту:
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 24.06.10 10:14
простой - совсем не значит правильный..
Номер ответа: 14
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #14
Добавлено: 24.06.10 14:21
Я бы вообще компонентом распаковал. А эти твои игры с хайдами не очень нравятся антивирусам.