Форум программистов, компьютерный форум CyberForum.ru

Скрытый запуск внешней программы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 40, средняя оценка - 4.68
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
10.09.2009, 15:02     Скрытый запуск внешней программы #1
Здравствуйте, товарищи!

Подскажите, можно ли запустить как-то чужую программу в скрытом режиме (в Windows)?

Я запускаю программу при помощи CreateProccess, но при этом в трее появляется ее значок...
Мне же необходимо, чтобы внешне это никак не проявлялось. Есть ли какие-то способы это осуществить?

За ранее спасибо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aleksanderac
 Аватар для Aleksanderac
45 / 18 / 2
Регистрация: 01.02.2009
Сообщений: 168
10.09.2009, 15:35     Скрытый запуск внешней программы #2
Цитата Сообщение от Haster Посмотреть сообщение
Здравствуйте, товарищи!

Подскажите, можно ли запустить как-то чужую программу в скрытом режиме (в Windows)?

Я запускаю программу при помощи CreateProccess, но при этом в трее появляется ее значок...
Мне же необходимо, чтобы внешне это никак не проявлялось. Есть ли какие-то способы это осуществить?

За ранее спасибо!!!
STARTUPINFO Startlnfo = { sizeof(TStartupInfo) };
PROCESS_INFORMATION Proclnfo;
LPCTSTR s;
Startlnfo.cb = sizeof(Startlnfo);
Startlnfo.dwFlags = STARTF_USESHOWWINDOW;
Startlnfo.wShowWindow = SW_HIDE;
SW_HIDE; запуск программы в скрытом режиме или оно не помогает?
-=ЮрА=-
Заблокирован
Автор FAQ
10.09.2009, 15:42     Скрытый запуск внешней программы #3
Можно запустить программу. а потом найти её окошко (например через EnumWindows) и использовать функцию ShowWindow(hWnd,SW_HIDE);, Aleksanderac тоже самое прописал в Startlnfo.wShowWindow ...
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
10.09.2009, 17:25  [ТС]     Скрытый запуск внешней программы #4
В принципе, я так и запускаю программу, с установленным атрибутом SW_HIDE, но окошко вылезает именно в трее (т.е. там где часы размещены). А главное окно, как и следовало, скрыто
Aleksanderac
 Аватар для Aleksanderac
45 / 18 / 2
Регистрация: 01.02.2009
Сообщений: 168
10.09.2009, 17:36     Скрытый запуск внешней программы #5
Цитата Сообщение от Haster Посмотреть сообщение
В принципе, я так и запускаю программу, с установленным атрибутом SW_HIDE, но окошко вылезает именно в трее (т.е. там где часы размещены). А главное окно, как и следовало, скрыто
Тогда имеет смысл поковыряться в настройках проги и снять флажок показывать в трее или сворачиваться в трей, что-нибудь в этом роде...

А что за прога, если не секрет?
-=ЮрА=-
Заблокирован
Автор FAQ
10.09.2009, 17:50     Скрытый запуск внешней программы #6
Тогда с треем предлагаю разобраться так :
сначала окошко проги отображаем как
ShowWindow(hWnd,SW_MAXIMIZE);
а после этого
ShowWindow(hWnd,SW_HIDE);

Хотя такое покатит если трей у программы при её минимизации предусмотрен
Даже самому интересно стало, на днях по-любому напишу что у меня вышло по этой проблемме, сажусь проект писать...
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
11.09.2009, 09:05  [ТС]     Скрытый запуск внешней программы #7
Aleksanderac, внешняя программа - Pspice.exe - ПО из комплекта OrCAD 10.5, предназначенная для симуляции электрических схем.

-=ЮрА=-, если интересно, то могу выслать Pspice, чтобы было на чем экспериментировать )))
А вообще, по моему если окну присвоить флаг SW_MAXIMIZE, то не будет ли на миг распахиваться окно программы?
А вообще вопрос действительно интересный, а главное нужный )) Пойду копать дальше, если что - отпишусь )))
Aleksanderac
 Аватар для Aleksanderac
45 / 18 / 2
Регистрация: 01.02.2009
Сообщений: 168
11.09.2009, 09:35     Скрытый запуск внешней программы #8
Хм. Самому интересно стало. Отпишитесь о результатах плиз
И так, чисто думки:
-=ЮрА=- развернуть и потом скрыть, тоже мысль. Но вдруг Pspice.exe при запуске изначально ставит иконку в трей, хоть программа свернута, хоть открыта. Как например аська - qip,miranda.
Надо посмотреть в просторах интернета, может кто сталкивался с этим...
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
11.09.2009, 09:42     Скрытый запуск внешней программы #9
Haster,
В принципе, я так и запускаю программу, с установленным атрибутом SW_HIDE, но окошко вылезает именно в трее (т.е. там где часы размещены). А главное окно, как и следовало, скрыто
перед запуском программы нужно установить хук на функцию Shell_NotifyIcon, который ничего не будет делать (например просто возвращать статус ошибки)
как поставить хуки - гоогле "как поставить хуки"
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,215
Завершенные тесты: 1
11.09.2009, 09:48     Скрытый запуск внешней программы #10
Без помощи "хаков", ты никак не удалишь, запущенную тобою прогу из списка процессов. Копай в сторону:

В журнале ][акер за май этого года есть отличная статья Александра Эккерта - "Игры в прятки на уровне ядра" - советую почитать.

Статья в MSDN :
What Goes On Insade Windows 2000: Solving the Misteries of the Loader.

Three Ways to Inject Your Code into Another Process.
http://www.codeproject.com/threads/winspy.asp
Dll Injection
http://codebreakersjournal.com/content/view/127/97
-=ЮрА=-
Заблокирован
Автор FAQ
12.09.2009, 11:29     Скрытый запуск внешней программы #11
Цитата Сообщение от Haster;264057...[b
-=ЮрА=-[/b], если интересно, то могу выслать Pspice, чтобы было на чем экспериментировать )))
...
Давай прогу, буду думать, так даже правельней будет - под конкретную задачу работать, всё что могу сказать пока не увижу прогу что для снятия трей иконки в проге всегда юзаю Shell_NotifyIcon(NIM_DELETE,&nf); где NOTIFYICONDATA nf. Жду объекта для экспериментов
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
14.09.2009, 10:08  [ТС]     Скрытый запуск внешней программы #12
Думал над Shell_NotifyIcon, но не прокатывает... Ей для работы нужно знать хэндл окна и ID-иконки треевской, который не получить.
Кроме того, адача усложняется тем, что Pspice.exe запускается с ключами /R /E, в итоге прога запускается, симулирует схему и сразу же завершается... В общем, у меня пока тупик ;-)


-=ЮрА=-, я уезжаю в отпуск, инета там, скорей всего, не будет... Так что не удивляйся, что долго не буду отвечать ;-))) Желаю удачи, сам тоже буду работать над проблемой!

P.S. Скидывать Pspice накладно, так как у него куча зависимостей, а со всеми Dll-ками получается много места. Если будет желание, то OrCAD 10.5 можно скачать тут:
ссылка
http://kazus.ru/programs/viewdownload/kz_0/cid_220.html
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
12.10.2009, 14:44  [ТС]     Скрытый запуск внешней программы #13
-=ЮрА=-, только что вернулся из Донецка )
Ну как, ничего не получилось?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2011, 22:46     Скрытый запуск внешней программы
Еще ссылки по теме:

Запуск G++ из программы C++
C++ Скрытый запуск exe файла
C++ Обработка события внешней программы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
RealHeroes
 Аватар для RealHeroes
8 / 10 / 1
Регистрация: 28.02.2011
Сообщений: 49
10.04.2011, 22:46     Скрытый запуск внешней программы #14
Hamachi запускается открыто даже если стоит параметр SW_HIDE
Yandex
Объявления
10.04.2011, 22:46     Скрытый запуск внешней программы
Ответ Создать тему
Опции темы

Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru