Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизКак спрятать чужое приложение? Найти похожие ветки
← →
Print (2003-05-22 15:08) [0]Подскажите, есть ли возможность на Delphi 6 под WinXP или Win2000 Server, запустить чужое приложение и спрятать его в шедулер?
← →
WarLord (2003-05-22 15:39) [1]ShellExecute(Handle,nil,PChar(ExeName),nil,nil,SW_HIDE)
только при чем тут шедулер?
← →
Print (2003-05-22 16:17) [2]ShellExecute(Handle,nil,"notepad.exe",nil,nil,SW_HIDE)- работает;
ShellExecute(Handle,nil,"calc.exe",nil,nil,SW_HIDE) - не работает!!!!
Вот в чем вопрос!
← →
WarLord (2003-05-22 16:20) [3]а что такое calc.exe ? ты думаешь, что винда знает пути ко ВСЕМ файлам на диске? Указывай полный путь
← →
WarLord (2003-05-22 16:24) [4]пардон, зарапортовался :) калькулятор не опознал :)))
← →
Print (2003-05-22 16:26) [5]Сорри насчет шедулера, пишу "шедулер" думаю про трей. По типу программки SysTrayX. Запарился за день!
← →
Print (2003-05-22 17:44) [6]Значит больше вариантов нет?
← →
VMcL (2003-05-22 18:51) [7]>Print (22.05.03 15:08) + Print (22.05.03 16:26)
ShowWindow + Shell_NotifyIcon
← →
Dimka Maslov (2003-05-22 18:59) [8]В трей чужое приложение не спрятать, если только оно само туда не захочет
← →
Print (2003-05-22 19:07) [9]Как не спрятать? Есть же программы типа SysTreyX, так они не только в трей прячут!!!
← →
VMcL (2003-05-22 19:19) [10]>Print (22.05.03 19:07)
Глянь такую прогу "RBTray", она распространяется с сырцами (правда на C++). RBTray по клику правой кнопкой мыши по кнопке Minimize сворачивает окно проги в трей.
← →
Print (2003-05-22 19:28) [11]VMcL - спасибо! Для Dimka Maslov - ты не прав!
← →
Print (2003-05-22 19:36) [12]VMcL - разобрался и с Delphi. Только вот вопрос остался: почему
ShellExecute(Handle,nil,"notepad.exe",nil,nil,SW_HIDE)- работает;
ShellExecute(Handle,nil,"calc.exe",nil,nil,SW_HIDE) - не работает?
Так из любопытства?
← →
Knight (2003-05-22 21:07) [13]Потому-что Мелко$софт, однако... :)
Вы лучше поясните, что это за CalcMsgPumpWnd запускается вместе с калькулятором... причём его наличие никак не сказывается на работе самого калькулятора.
← →
Юрий Зотов (2003-05-22 21:48) [14]> Print (22.05.03 19:28)
> Dimka Maslov - ты не прав!
А знаете, все же прав. Вы сначала разберитесь с сырцами - что там НА САМОМ ДЕЛЕ происходит. ЧЬЕ именно окно просто скрывается и ЧЬЯ именно иконка появляется в трее.
Я этот фокус делал - сажал чужую программу в трей (к тому же, еще и консольную). Поэтому знаю, как это делается и что там к чему. Так что, уж поверьте - прав Dimka Maslov, на все 100%. Если программа не написана под трей, то она в него и не сядет, хоть обкричись (сделайте свою трей-программу, только без всяких компонентов - сразу поймете, почему это так).
А делается все очень просто. Ваша программа ставит хук и отлавливает у чужого окна WM_SYSCOMMAND. При минимизации она это окно просто прячет, а сама сажает в трей СВОЮ иконку и запоминает, что ЭТА иконка соответствует ЭТОМУ окну. А при клике по иконке снова показывает нужное окно, вот и все.
Так что - это не ЧУЖАЯ программа садится в трей, а СВОЯ. А окном чужой программы она просто управляет.
← →
Knight (2003-05-22 23:36) [15]И все-таки... что это за CalcMsgPumpWnd (Edit), который запускается вместе с калькулятором... и что, а главное, куда этот насос качает... :)
← →
Print (2003-05-23 13:45) [16]Юрий Зотов. Согласен на все 100%. Спрятать можно любую программу из таскбара, а в трей засунуть только СВОИМ приложением иконку ЧУЖОЙ программы! Это дело техники. CalcMsgPumpWnd (Edit) - дочерний компонет.
← →
Knight (2003-05-23 14:14) [17]
> CalcMsgPumpWnd (Edit) - дочерний компонет.
А какая его задыча?
← →
Print (2003-05-23 14:38) [18]> Knight а бог его знает:)) Создай любой пустой проект Делфи и запусти. Посмотри какие окна и какие классы: два окна Form1, Project1 и соответствующие классы TApplication, TForm1. Что где догадаться не сложно.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c