Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > невидимая прога


Автор: Rohoss 20.4.2007, 07:55
Здравствуйте!

Есть такой вопрос: 

Вот этот код запускает приложение (ассоциированное с файлом)

Код
 ShellExecute(NULL,"open","C:\\1.txt",NULL,NULL,SW_SHOW);  


Если его немножко изменить 

Код
 ShellExecute(NULL,"open","C:\\1.txt",NULL,NULL,SW_HIDE); 


То программу видно только в процессах.

Но не совсеми программами такое прокатывает!

Как сделать невидимой остальные программы??? smile  smile 

Автор: _hunter 20.4.2007, 10:47
а по форуму ты искать не пробовал?
http://forum.vingrad.ru/topic-66396.html

Автор: HappyLife 20.4.2007, 10:55
Rohoss, с помощью FindWindow ищи главное окно процесса, и выполняй SW_HIDE

Автор: Klin 20.4.2007, 12:03
В завистимости от того, что тебе нужно:
Код

 HWND handle = FindWindow(NULL,"Project1");
 ShowWindow(handle,SW_HIDE);

Скрывает на панели задач
Код

 HWND handle = FindWindow(NULL,"Project1");
 ShowWindow(handle,SW_MINIMIZE);

Сворачивает программу.

Автор: GIK 20.4.2007, 16:19
Народ, извиняюсь если скажу не к месту. Если открыть прогу в невидимом виде, текстовый документ к примеру, то закроется она (освободится память) только после того как перегрузят комп? 

Автор: Klin 20.4.2007, 17:24
Цитата(GIK @  20.4.2007,  17:19 Найти цитируемый пост)
Если открыть прогу в невидимом виде, текстовый документ к примеру, то закроется она (освободится память) только после того как перегрузят комп?  

Че-то загрузил smile Если какая либо программа не закрыта (каким-либо способом), то естественно, она закроется только после перезагружения компьютера или пользователя.

Автор: Rohoss 20.4.2007, 19:50
 Klin  Ну дык всё офигенно, и сворачивается и убирается с панели задач (когда не свёрнутая), а от как сделать невидимой её главную форму, да и скрыть в Alt + Tab? В процессах пускай будит.

Добавлено @ 20:03
Всем спасибо, это я не до конца разобрался  smile 

Код

 HWND handle = FindWindow(NULL,"Project");
 ShowWindow(handle,SW_MINIMIZE); // ети две нижних строчки именно так, а не наоборот
 ShowWindow(handle,SW_HIDE);

Автор: Klin 20.4.2007, 21:25
Я счастлив, что ты вовсем разобрался smile


p.s. если вопрос решен, желательно приать ему этот стаутус

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)