Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Спрятать окно до того как оно отобразилось на экране

Ответить
Настройки темы
Win32 API - Спрятать окно до того как оно отобразилось на экране

Аватара для Sanchos

Пользователь


Сообщения: 124
Благодарности: 5

Профиль | Отправить PM | Цитировать


В общем суть вопроса такова:
Есть утилита, которая никак не реагирует на запуск себя как HIDE. Она всё время запускается видимая и с активным фокусом.
Если применить ShowWindow hwnd, SW_HIDE сразу после запуска, тогда видно моргание окна, то есть оно сначала появляется и тут же прячется.
Нужно как то "спрятать" его сразу после запуска, но до того как окно отобразится... говорят что можно сделать хук на это дело.
Правда ли это, и если можно то как именно?

Отправлено: 17:58, 24-08-2010

 

Аватара для RUVATA

Старожил


Сообщения: 301
Благодарности: 16

Профиль | Отправить PM | Цитировать


.StartInfo.UseShellExecute
например:
Код: Выделить весь код
        MyProcess.StartInfo.FileName = "7z"
        '           StartInfo.FileName  - если приложение не описанно в sys.переменной PATH,
        '           то указывать полное имя к программе... н\п "C:\Program Files\7-Zip\7z.exe"
        MyProcess.StartInfo.UseShellExecute = False
        '           это праметр определяет оболочку которая необходима для запуска процесса
        '           это приблуда для кроссплатформенности - ЗАБЫЛИ тупо всегда назначаем "False"
        '           тобишь открываем Wind-ой
        MyProcess.StartInfo.RedirectStandardInput = True
        '           перенаправление потока ВВОД, и дискриптора 2 на стандартный поток реального времени
        MyProcess.StartInfo.RedirectStandardOutput = False
        '           перенаправление потока ВЫВОД нам ни в коем случае не нужно... так что назначаем "False"
        '           и не забываем что речь идет о процессе у него все зеркально пользователю... т.е. то что пользователю ВЫВОД
        '           то процессу ВВОД
        MyProcess.Start()
        '           запуск процесса.
        Console.ReadKey()
        '           остановка на получении NextKey в консоли... для того чтоб она не закрылась
Да это уже и не важно...

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


Отправлено: 15:52, 03-09-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Спрятать окно до того как оно отобразилось на экране

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как сделать чтобы дочернее окно при выходе не закрывало основное окно assch AutoIt 5 19-07-2010 02:11
2003/XP/2000 - [решено] Excel | При открытии файла .exl на экране одно только серое окно. Natalya1505 Microsoft Office (Word, Excel, Outlook и т.д.) 3 06-02-2010 18:23
перемещается не окно а его контур,а потом только оно,как это исправить? Grandi Хочу все знать 2 10-04-2009 07:37
Как перегрузить комп после того как все авто-настройки приняты? Cobra_1_Stas Автоматическая установка Windows 2000/XP/2003 9 05-03-2008 03:00
Как спрятать? MrX Вебмастеру 1 28-05-2003 20:15




 
Переход