Необходимо изменить идентификатор приложения в обработчике события SourceInitialized
окна, поскольку вновь созданное окно WPF еще не имеет дескриптора и получает его только тогда, когда источник представления инициализирует это окно. В своем коде вы пытаетесь изменить идентификатор приложения окна, у которого нет дескриптора (он равен нулю), поэтому вы наблюдаете ошибку
Вместо:
public void App_Startup(object sender, StartupEventArgs e)
{
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(new WindowInteropHelper(new window2()).Handle, "Gx3OptimisationWindow");
}
сделать это:
class Window2
{
public Window2()
{
InitializeComponent();
SourceInitialized += (s, e) =>
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(
new WindowInteropHelper(this).Handle,
"Gx3OptimisationWindow");
}
}