用管道运行runas命令的问题(qqjm请进) ( 积分: 30 )

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
我按照qqjm老兄的方法用管道控制控制台程序(http://www.delphibbs.com/delphibbs/dispq.asp?lid=3663578),在绝大多数情况下qqjm的方法确实有效,但是对runas命令却没用,具体情况如下:<br>当用管道运行cmd.exe后再执行runas&nbsp;/user:sy0116&nbsp;&quot;D:/WINPENJR/win32/Custom.exe&quot;命令,时用于显示输出的memo1显示:<br>=========================================================================<br>d:/Program&nbsp;Files/Borland/Delphi7/Projects&gt;runas&nbsp;/user:sy0116&nbsp;&quot;D:/WINPENJR/win32/Custom.exe&quot;'<br>输入&nbsp;sy0116&nbsp;的密码:&nbsp;<br>=========================================================================<br>而当我输入密码并使用管道写入后却不能启动程序,而是显示:<br>=============================================================================<br>d:/Program&nbsp;Files/Borland/Delphi7/Projects&gt;runas&nbsp;/user:sy0116&nbsp;&quot;D:/WINPENJR/win32/Custom.exe&quot;'<br>输入&nbsp;sy0116&nbsp;的密码:&nbsp;123<br>'123'&nbsp;不是内部或外部命令,也不是可运行的程序<br>或批处理文件。<br><br>d:/Program&nbsp;Files/Borland/Delphi7/Projects&gt;<br>=============================================================================<br>请问这是什么原因引起的?应该如何解决?
 
1、这个与我的程序无关,不信你可以在命令行执行看看能不能输入密码。<br>2、你那个程序本来就是控制台程序,还用得cmd.exe来启动吗?<br>你将cmd.exe改成D:/WINPENJR/win32/Custom.exe不就得了,我运行那个cmd.exe是因为这个控制台程序好找,你是可以改成其它程序的。<br>3、这个代码不是所有控制台程序都可以支持的,如部分用Delphi写的控件台程序。如果那个控制台程是你自己写的,你google&nbsp;“深入理解控制台程序”。看那个“高级I/O句柄:文件句柄”那节。
 
不好意思,我收回第一点,不能运行的因为runas只能直接捕获键盘信息,不能通过流写进入。<br>这是runas的设计问题。是MS出于安全原因面设计成这样的!
 
Delphi&nbsp;中如何用另外一个用户的身份来运行一人程序:<br>http://www.faq-it.org/archives/delphi_win_sdk/3aacfbff77ffa0a0f36659feda100729.php
 
接受答案了.
 
后退
顶部