我目前正在使用pinvoke CreateProcessAsUser api在asp.net网站内启动进程.这非常适合模拟已登录的AD用户.
然而,不知何故,控制台输出的结果字符串始终为空.我找不到出了什么问题.没有崩溃或任何东西只是没有输出.
public static class Process
{
static readonly IntPtr INVALID_HANDLE_VALUE = (IntPtr)(-1);
static readonly HandleRef NullHandleRef = new HandleRef(null, IntPtr.Zero);
const int STD_INPUT_HANDLE = -10;
public const UInt32 Infinite = 0xffffffff;
const int STARTF_USESTDHANDLES = 0x100;
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool SetHandleInformation(IntPtr hObject, HANDLE_FLAGS dwMask, HANDLE_FLAGS dwFlags);
[DllImport("kernel32.dll", EntryPoint = "CloseHandle", SetLastError = true, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern bool CloseHandle(IntPtr handle);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern UInt32 WaitForSingleObject(IntPtr …Run Code Online (Sandbox Code Playgroud)