2013-04-04 3 views
2

У меня есть 2 приложения, запущенные в Windows 7. Первое приложение - это загрузочный загрузочный файл C++, запускающий второе приложение. Я хочу изменить значок второго приложения на панели задач Windows (панель внизу экрана) программно из первого приложения во время выполнения.Изменить значок панели задач другого процесса в Windows

Возможно ли это?

Есть ли способ создать второй процесс, чтобы он имел общий значок на панели задач с первым?

Я пытаюсь создать автономный распространяемый для Roblox игр (второе приложение здесь является игра игрок, и я хотел бы, чтобы загрузить игру конкретных значок, в противном случае пользователь опыт будет вводить в заблуждение)

+0

Концепция предоставления двум программам одного и того же значка для * не * путающего пользователя вызывает недоумение. Вы можете сделать что-то в Windows 7, ITaskBar3 :: SetOverlayIcon(). –

+0

ITaskbarList3 не может манипулировать кнопкой панели задач другого процесса. Любой указанный HWND должен принадлежать вызывающему процессу, который обращается к ITaskBarList3. Это указано в документации. –

+0

Вы управляете кодом для обоих этих приложений? Можете ли вы, чтобы bootstrapper передал флаг второму приложению, которое сообщает второму приложению, какой значок использовать? –

ответ

1

То, о чем вы просите, вообще невозможно. Только процесс, которому принадлежит кнопка панели задач, может манипулировать им. Процесс не может манипулировать кнопками панели задач другого процесса. Для вашего загрузочного скрипта, вероятно, потребуется ввести код, например, с помощью CreateRemoteThread(), который запускается внутри второго процесса.

+0

Ух, это звучит так ужасно. Спасибо за подсказку. –

+0

Это не кажется правильным, как правило. можно изменить название процесса из другого процесса, который также повлияет на кнопку панели задач. посмотрите http://stackoverflow.com/questions/1016823/c-sharp-how-can-i-rename-a-process-window-that-i-started – AaA

+0

Это изменяет заголовок окна, которому принадлежит кнопка панели задач, который * косвенно * изменяет текст кнопки панели задач. Но это все это кандо. Если вы действительно хотите манипулировать кнопкой панели задач другого процесса, особенно ее иконкой (о которой задавался этот вопрос), посмотрите на [еще один ответ, который я опубликовал] (http://stackoverflow.com/a/24274703/65863) ранее в этом году, который включает ссылку на статью о том, как манипулировать панель задач напрямую. –

Смежные вопросы