Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Сделать окно текущего приложения активным

Всем привет👋
Сделал в своё приложение обновление по кнопке, но после запуска уже обновлённого приложения его нету на панели задач + оно не на переднем плане а на самом заднем, что бы оно там появилось нужно нажать по приложению но этот вариант меня не устраивает, кто как это исправляет? Поделитесь пожалуйста.

Приветствую. Лучше уточнить от том, что происходит с основным окном, что имеется ввиду, когда говорится об обновлении. Если от этого абстрагироваться, то из стандартных свойств окна ( this.TopMost = true;) отвечает за передний план(к сожалению не всегда как хотелось бы). Что касается отсутствия на панели задач, при стандартном поведении, там отсутствуют диалоговые окна.

Цитата: Viktor от 24.07.2022, 17:10

Приветствую. Лучше уточнить от том, что происходит с основным окном, что имеется ввиду, когда говорится об обновлении. Если от этого абстрагироваться, то из стандартных свойств окна ( this.TopMost = true;) отвечает за передний план(к сожалению не всегда как хотелось бы). Что касается отсутствия на панели задач, при стандартном поведении, там отсутствуют диалоговые окна.

Привет👋
Скачивается обновлённое приложение, через cmd завершаю текущее, удаляю его, переименовываю скачанное в нормальное название, запускаю. При таком сценарии приложения нету на панели задач пока по его окну не кликнешь мышкой, даже если при этом стоит TopMost = true, в этом и есть проблема. Искал в интернете способы но так и ничего путного не нашёл.

Привет. Я из любопытства хотел бы понять твой алгоритм. Скачать новую версию можно самому приложению. Это понятно, а после скачивания этап с cmd, очисткой им занимается какой то оделенный процесс? Если да, то как он потом стартует его?

Цитата: Viktor от 26.07.2022, 21:05

Привет. Я из любопытства хотел бы понять твой алгоритм. Скачать новую версию можно самому приложению. Это понятно, а после скачивания этап с cmd, очисткой им занимается какой то оделенный процесс? Если да, то как он потом стартует его?

Скачивается новая версия рядом с приложением, потом просто вызываю метод cmd:

Cmd("taskkill /f /im \"имя приложения.exe\" && " +
        "timeout /t 1 && " +
        "del \"имя приложения.exe\" && " +
        "ren dwnloaded.exe \"имя приложения.exe\" && " +
        "\"имя приложения.exe\"");

После чего на панели задач нету самой программы пока по ней не кликнешь.