Считать значение из вывода консоли KPScript.exe - PullRequest
0 голосов
/ 19 июня 2019

Я хочу использовать Операции с одной командой (https://keepass.info/help/v2_dev/scr_sc_index.html) в приложении C # для чтения значений из базы данных KeePass. Когда я выполняю команду для KPScript.exe в окне cmd, консоль выводит

pass
OK: Operation completed successfully.

pass - это пароль записи, которая была прочитана из базы данных.

Я хочу получить это pass, чтобы использовать его в приложении. Для этого я использую следующий код,но в окне сообщения отображается строка OK: Operation completed successfully.

var proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = KPScript.exe,
        Arguments = "-c:GetEntryString -Field:Password " + <database_path> + " -pw:password -ref-Title:'Entry1'",
        UseShellExecute = false,
        RedirectStandardOutput = true
    }
};

proc.Start();

MessageBox.Show(proc.StandardOutput.ReadLine());

Я также попробовал следующее, но оно не отображает pass

proc.OutputDataReceived += (sender, arguments) => MessageBox.Show("received output: " + arguments.Data);
proc.Start();
proc.BeginOutputReadLine();

Как я могу получить pass

...