#command-line #powerbuilder #pgp
#командная строка #powerbuilder #pgp
Вопрос:
Я использую McAfee E-Business Server версии 8.6, и я хотел получить коды возврата из команд шифрования / дешифрования из командной строки. Я запускаю указанные коды из PowerBuilder. Я хотел получить коды возврата из файла журнала, установленного в конфигурации. Кто-нибудь знает, как это сделать? Спасибо.
Ответ №1:
Я не уверен в PGP в частности, но если они выполняются локально, вот как я запускаю внешнюю команду и получаю код возврата:
ExternalFunctionPrototypes
FUNCTION boolean CreateProcess(string AppName, string CommLine, long l1, long l2, boolean binh, long creationflags, long l3, string dir, str_startupinfo startupinfo, ref str_processinformation pi ) library 'kernel32.dll' alias for "CreateProcessW"
FUNCTION long WaitForSingleObject ( ulong ul_Notification, long lmillisecs ) library "kernel32.dll"
FUNCTION long GetExitCodeProcess(ulong hProcess,ref ulong lpExitCode) LIBRARY "kernel32.dll"
FUNCTION boolean CloseHandle(ulong h) library 'kernel32.dll'
функция of_runandwait (строка as_command, логическое значение ab_Visible) возвращает ulong
constant long STARTF_USESHOWWINDOW = 1
constant long CREATE_NEW_CONSOLE = 16
constant long NORMAL_PRIORITY_CLASS = 32
constant long INFINITE = -1
boolean lb_Return
long ll_Null, ll_CreationFlags, ll_Return
ulong lul_ProcessReturn
string ls_CurDir, ls_Null
str_StartupInfo lstr_Start
str_Processinformation lstr_PI
SetNull(ll_Null)
SetNull(ls_Null)
SetNull(ls_CurDir)
lstr_Start.cb = 72
lstr_Start.dwFlags = STARTF_USESHOWWINDOW
IF ab_Visible THEN
lstr_Start.wShowWindow = 1
ELSE
lstr_Start.wShowWindow = 0
END IF
ll_CreationFlags = CREATE_NEW_CONSOLE NORMAL_PRIORITY_CLASS
lb_Return = CreateProcess (ls_Null, as_Command, ll_Null, ll_Null, FALSE, ll_CreationFlags, ll_Null, ls_CurDir, lstr_Start, lstr_PI)
ll_Return = WaitForSingleObject (lstr_PI.hProcess, INFINITE)
ll_Return = GetExitCodeProcess (lstr_PI.hProcess, lul_ProcessReturn)
CloseHandle(lstr_PI.hProcess)
CloseHandle(lstr_PI.hThread)
RETURN lul_ProcessReturn
Надеюсь, это поможет.
Удачи,
Терри.