Как показать окно уже запущенного приложения при его повторном запуске? - VB

Узнай цену своей работы

Формулировка задачи:

Я использую такой код, но он не отрабатывает, проверял какой hwnd возвращает FindWindow - 0, соответственно ничего не отрабатывает. Подскажите где может быть ошибка.
Листинг программы
  1. Private Declare Function FindWindow Lib 'user32' Alias 'FindWindowA' (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  2. Private Declare Function ShowWindow Lib 'user32' (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  3. Sub Main()
  4. 'check for previouse instance
  5. 'if already run then show it
  6. If App.PrevInstance Then
  7. ShowWindow FindWindow(0&, 'MyProgramTitle'), 9 ' SW_SHOW
  8. Exit Sub
  9. End If
  10. Load frmMain
  11. End Sub

Решение задачи: «Как показать окно уже запущенного приложения при его повторном запуске?»

textual
Листинг программы
  1. If App.PrevInstance = True Then
  2.     MsgBox 'Программа уже запущена!', vbInformation, 'Info'
  3.    mem = App.title
  4.     App.title = ''   ' <<< чтобы не было двух окон с одним заголовком
  5.    AppActivate mem  ' <<< активируем окно запущенной копии
  6.    Exit Sub         ' <<< завершаем работу этой копии программы
  7. End If

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы