如何从PGP命令行代码获取返回码

时间:2011-05-02 08:26:58

标签: command-line powerbuilder pgp

我使用的是McAfee E-Business Server v8.6,我想从命令行获取加密/解密命令的返回码。我从PowerBuilder运行上述代码。我想从配置中的日志文件集中获取返回码。有人会知道怎么做吗?感谢。

1 个答案:

答案 0 :(得分: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'

function of_runandwait(string as_command,boolean 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

希望这有帮助。

祝你好运,

特里。