Как лучше всего показать диалоговое окно в отдельном процессе, независимом от основного процесса в С++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как лучше всего показать диалоговое окно в отдельном процессе, независимом от основного процесса в С++?

Сообщение Anonymous »

У меня есть библиотека C++, которая будет использоваться для целей аутентификации. Он имеет несколько экспортированных методов, вызываемых через клиентское программное обеспечение. Моя цель - создать функцию, которая будет отображать диалоговое окно в отдельном процессе, независимом от приложения.
Моя цель - когда будет обнаружено какое-то вмешательство, я хочу немедленно закрыть приложение, но оставить пользователь с каким-то уведомлением. У меня также есть такая функция, как удаленное завершение сеанса, когда владелец приложения может завершить сеанс клиента, то же самое происходит в случае истечения срока действия лицензии. Я не хочу просто закрывать приложение, я хочу оставить пользователю сообщение
Я читал о некоторых решениях, но вижу проблемы в каждом из них:
  • Создайте отдельное приложение, которое будет вызывать DialogBox и запускаться как новый процесс:
    Я не хочу отправлять дополнительные exe-файлы, это должна быть одна собственная библиотека
  • Использование powershell и ShellExecute
    Я обеспокоен тем, что powershell может быть заблокирован на некоторых компьютерах или ему потребуются права администратора. У меня есть этот код, который работает

Код: Выделить всё

Add-Type @"
using System;
using System.Runtime.InteropServices;
public class NativeMethods {
[DllImport("user32.dll", CharSet=CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, string text, string caption, int options);
}
"@

[NativeMethods]::MessageBox([IntPtr]::Zero, "Wykryto naruszenie", "Ał", (0x10 -bor 0x1000))
  • Используйте VBS вместе с Windows Script Host
    На некоторых компьютерах Windows Script Host может быть заблокирован
Какое решение мне следует использовать для обеспечения совместимости? Или, может быть, есть решения получше этих?


Подробнее здесь: https://stackoverflow.com/questions/793 ... f-main-pro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»