Огромное Спасибо. Такое не часто встречается
Запустил калькулятор ,а потом форму.(Сперва простой а потом MDI)
- При простой форме (VB6)
все ОК но калькулятор из за строки 32 полностью не показывается. (раскрывается).После комментирования (с последующим снятием ) этой строки все стало ОК.???
При закрытие формы калькулятор остался в памяти
- при MDI форме (VB6)
строка 07. ScaleMode = vbPixels выдает ошибку “Variable not defined” из за отсутствия
при минимизирование калькулятор исчез из виду
при закрытие формы калкулятор остался в памяти
1. Пожалуйста исправте мои ощибки
2. Сделайте пожалуйста так ,чтоб код был приемлем и для MDI форм.
За ранее багодарью
Я не прощу «заморачиваться».Я прощу знающего помочь.
- При минимизирование калькулятора он куда та исчезает.А в простом форме он минимизируется в форме
- При закрытие MDI формы все равно « calc.exe » остается в памяти. В диспетчере задач его видно.
Если на время отбросить мысль о нелепости задания, то можно посоветовать установить родителем не главное MDI окно, а его дочернее - MDIClient. Правда, сомневаюсь, что получиться красиво организовать вызов DefMDIChildProc.
Функция Shell возвращает PID, по нему можно завершать чужой процесс.
Winand Ким Чен Ир
Ну допустим кто ни будь написал какую ни будь программу (Freeware) и он мне понравился. А код мне не доступен и я не могу такого написать. Но программа нужная. Что остается бедному юзеру. Попросить знающих – Как стотонную программу встроит в свою. Так и права не нарушается. Вот и Winand написал то, что пока на форуме не нашел. Все происходить когда VB программа закрывается , а сторонняя программа еще не закрыта. VB программа закрывается ,а он остается в памяти. Если его не убрать то он будет сидеть в памяти и использовать ресурсы машины. А если эту программу не выгрузить, то следующий раз при запуске в диспетчере задач их будет несколько.
- Как выгрузить программы ?
Я собираюсь использовать 16 и 32 битовые программы. А 16 битовые проги в ХР открываются с помощью виртуальной машины(ntvdm.exe).Их пока мне не удалось встроит как дочернюю. ntvdm.exe даже при закрытие программы остается в памяти.
- Как встроит 16 битовые программы ?
Ну допустим кто ни будь написал какую ни будь программу (Freeware) и он мне понравился. А код мне не доступен и я не могу такого написать. Но программа нужная. Что остается бедному юзеру.
Запустить программу в ОТДЕЛЬНОМ окне? зачем её встраивать в своё...
Winand Ким Чен Ир
Вам обоим БОЛЬШОЕ СПАСИБО. Вы сделали то, что до сих пор на форуме мне не встречался.РЕСПЕКТ вам. А теперь по порядку:
Winand пишет:
Запустить программу в ОТДЕЛЬНОМ окне? зачем её встраивать в своё
Допустим есть некое MDI приложение написанное на VB6.В программе выполняются разные вычислительные операции .Но часто приходиться кое что вычислять отдельно , переводить величины и делать инженерные вычисления и добавлять в свой отчет. Для этого как и вы задумали нужен калькулятор.Знаю что на VB6 можно написать калькулятор – а не лучше ли взять готовую и испытанную программу . Для примера возьмем Windows калькулятор .В нужный момент запускаем из меню основной программы Windows калькулятор, ставим его в самый край экрана, чтоб не загромождал наш отчет и кое что вычисляем , переходим на основное окно и добавляем информацию в документ. И вот здесь Windows калькулятор прячется за нашей программой – и это один из Неудобств. Потом опять активизируем Windows калькулятор и.т.д …..А нужно, чтоб Windows калькулятор постоянно был на виду.
Ким Чен Ир пишет:
Он наверное думает, что эти программы войдут во вновь созданный экзешник
- Можно нужную программу в папке с основной программой держать ?
- Можно его в Ресурсы ?(распаковывать файлы на жёсткий диск,оттуда запускать и после удалить )
- Можно например сделать бинарный код файла прописать как то его в коде,
и программу пользовать как бы из нутри? (imho)
Отличный код получился. С одним НО.
- Если два и более раза запустит Calc.exe или 16 битовую (следующие запуски16 бит прог не становятся дочерними ) программу и после этого закрыть основную программу, то запушенные программы остаются в памяти. А с блокнотом такое не случается.С Dosrep.exe не проверяйте .Он как то сразу вырубается и вырубает ntvdm.exe
Для теста http://illari.ru/electro/osc/ Wave Tools Oscilloscope (Paul Kellett)
http://illari.ru/electro/osc/files/oscilloscope.zip
Прим.: После выхода из программ в памяти остаются ntvdm.exe и wowexec.exe .
- Пожалуйста поправьте мои ошибки .
Настаиваю на том, что это грязные хаки и так не делают. Альтернативный вариант - выводить приложение поверх всех окон. Часть кода скопипастил у кимченыра