当CMD作为管理员运行时,如何将输入发送到CMD



我创建了一个将键盘输入发送到cmd.exe的应用程序。当运行cmd作为普通用户运行时,这起作用,但是当cmd作为管理员运行时失败。

这是我的代码:

Var
   Wnd:hwnd;
begin
   wnd:=FindWindow('ConsoleWindowClass',0);
   if wnd <> 0 then
    begin
      setforegroundWindow(wnd);
      keybd_event(Ord('A'),0,0,0);
    end;
end;

请注意ConsoleWindowClasscmd的类名称。

cmd作为管理员运行时,如何将输入发送到cmd

当CMD作为管理员运行时,我如何使用此代码在CMD中键入?

你不能。这种行为是设计的。CMD流程的完整性水平高于您的流程。克服这一点的唯一方法是安排假装输入也作为管理员运行的过程。

最终发现,如果我们以admin运行基本应用程序,然后尝试将输入发送到cmd,则可以正常工作。

相关内容

  • 没有找到相关文章

最新更新