Передача текстовой информации в окно "Воздушный шар" WPF - PullRequest
0 голосов
/ 15 января 2010

Я хочу иметь возможность запускать окно типа «воздушный шар», когда в приложениях командной строки, которые я запускаю в пакете, возникают ошибки. Я думаю о создании исполняемого файла WPF и передаче ему сообщения, которое будет отображаться в его командной строке.

Смогу ли я передавать символы Юникода в его командной строке?

Может кто-нибудь предложить другой способ передачи текста, который будет отображаться в окне WPF во внешнем исполняемом файле / DLL?

[запрос более подробной информации]

По сути, я ищу простой способ запустить окно с некоторым сообщением, и это сообщение будет приходить исполняемым файлам, которые не имеют пользовательского интерфейса (служба Windows, инструмент командной строки). Я думал о вызове приложения WPF с сообщением в командной строке, например:
NotificationBalloon.exe "это сообщение для отображения"
но это не будет поддерживать символы Юникода. Я ищу лучший способ передать сообщение NotificationBalloon.exe

Ответы [ 3 ]

1 голос
/ 16 января 2010

Вы можете сделать так, чтобы NotificationBalloon.exe читал строку Юникода из стандартного ввода при выполнении и использовал перенаправление ввода при его порождении:

public void Foo()
{
    SpawnBalloon("Whatever you want, this can be UNICODE as well.");
}

private void SpawnBalloon(string message)
{
    ProcessStartInfo psi = new ProcessStartInfo("NotificationBalloon.exe")
    {
        RedirectStandardInput = true
    };
    var process = Process.Start(psi);
    process.StandardInput.Write(message);
    process.StandardInput.Flush(); // Might not be necessary if AutoFlush is true
}
0 голосов
/ 19 января 2010

В итоге я передал значения UTF-16 в командной строке и преобразовал их в строку внутри функции main (). Например:

NotifWindow.exe 00480065006c006c006f0021
распечатает «Привет!»

0 голосов
/ 15 января 2010

Нет, вы не можете передавать символы Юникода в командной строке без риска их искажения. Передайте ему путь к временному файлу, который содержит текст (или, если вы хотите получить фантазию, вы можете использовать каналы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...