navidshaikh0702 Ответов: 1

Как сделать system.diagnostics.process для доступа к модулям 64-битного процесса


Я пытаюсь сделать шифрование gpg через пакетный файл
Но
Я получаю "32-битные процессы не могут получить доступ к модулям 64-битного процесса".Начать()

Что я уже пробовал:

Вот пример моего кода
Dim gpgPath As String = System.IO.Directory.GetDirectoryRoot(Домен Приложения.CurrentDomain.BaseDirectory) &ампер; "ABProreports\ME_ONBOARDING\шифрование\" &амп; формат(дата.Теперь, "ддммгггг")
Dim mFileNo As Byte = 1

Dim myProcess как новая система.Диагностика.Процесс
мой процесс.свойство StartInfo.WorkingDirectory = System.IO.Directory.GetDirectoryRoot(Домен Приложения.CurrentDomain.BaseDirectory) & "APP_SERVER\ABPro\"
мой процесс.свойство StartInfo.Именем = (gpgPath &ампер; "Encrypt_ \" &амп; mFileNo &ампер; ".летучая мышь")
мой процесс.Информацию.Значение Свойства Useshellexecute = False В
мой процесс.StartInfo.RedirectStandardOutput = True
мой процесс.Начать()

Richard MacCutchan

Вам нужно построить свое приложение как 64-битный процесс.

1 Ответов

Рейтинг:
0

RickZeeland

Если вы хотите запустить пакетный файл, вы должны сделать это следующим образом:

myProcess.StartInfo.UseShellExecute = True
myProcess.StartInfo.RedirectStandardOutput = False
Обратите внимание, что вы не можете использовать RedirectStandardOutput таким образом !