У меня есть исполняемый файл VB6, который мы используем как исполняемый файл Starter для нашей реальной программы.
Проблема в том, что Windows 7 показывает новый значок на панели задач для нового процесса вместо того, который я щелкнул, чтобы запустить свою программу (конечно, потому что стартовый exe уже закончился, а новый exe кажется новым программа).
В настоящее время я использую объект Shell для запуска другого exe. Есть ли лучший способ сделать это из vb6, возможно, используя встроенную функцию C с объявлением, которая запускает exe в текущем процессе, не порождая новый процесс?
РЕДАКТИРОВАТЬ:
Спасибо atzz за отличную информацию об идентификаторах моделей приложений. Теперь у меня есть ярлык для запуска моего приложения с четко определенным идентификатором, и мое приложение также устанавливает идентификатор при запуске, и теперь оно доступно из правого значка на панели инструментов. Однако остаются две проблемы:
Это приложение Java, запускаемое с Exe4J, и у меня нет возможности установить AppID до того, как Exe4J покажет экран-заставку, поэтому при отображении экрана-заставки на панели задач есть второй значок.
Если я не перетащу вручную значок начального приложения с рабочего стола на панель инструментов, а вместо этого использую значок приложения и установлю его как «липкий», то будет закреплено реальное приложение, а не средство запуска.
Обе проблемы были бы прекрасно решены, если бы моя программа запуска запускала приложение из своего собственного процесса. Я слышал что-то об использовании exec () вместо fork () для программ Linux, чтобы добиться этого ... есть ли что-то подобное для Windows?