外部程序调用,登陆问题

Jesan 2003-07-09 09:41:50
用c#写一个windows应用程序,程序的功能是启动另一个本机中的可执行程序.
部分代码如下:
string PathName="D:\\…………\\xy.exe";
Process myProcess = new Process();
myProcess.StartInfo.FileName=PathName;
myProcess.Start();
执行该段程序时,xy.exe可以被启动,
问题是原本直接双击xy.exe启动,在启动后会跳出一个登陆对话框
要求输入用户名和密码,在用户名一栏中有一个默认的用户名'1234'
(默认的用户名从与xy.exe同一目录下的一个文件读出)
现在通过程序启动,在启动后没有跳出登陆对话框,
只是报错"用户abc登陆失败" (abc是我的计算机名)
改用vb:
shell "D:\…………\xy.exe"
也出现同样的问题.
而在开始->运行 中输入D:\…………\xy.exe,则不会出现任何问题
能够正常启动,跳出登陆对话框.
不知这是什么原因.
盼高手解答!
...全文
89 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyee 2003-07-31
  • 打赏
  • 举报
回复
我试了用process.start一个本机的c#应用程序, 并没报错, 相应的 aaa.exe.config的配置信息也能正常读出来

你的问题比较怪, 可能是工作路径的问题
ProcessStartInfo还有很多可选参数, 你都试一试看
黄凯耀 2003-07-31
  • 打赏
  • 举报
回复
用不用设置工作目录呢?
Info.WorkingDirectory = "D:\\…………...
aspcn 2003-07-31
  • 打赏
  • 举报
回复
从Windows提供的登陆程序以外的程序进行登陆,必须拥有其它的特权,即使你是Administrator也没有这个特权。

你在计算机管理中找到“本地策略”,在“以操作系统运行”栏中加上你要登陆的帐号,就可以了。
Jesan 2003-07-10
  • 打赏
  • 举报
回复
有没有高手知道啊?
chainet 2003-07-09
  • 打赏
  • 举报
回复
改成:
string PathName="D:\\…………\\xy.exe";
Process myProcess = new Process();
myProcess.StartInfo.FileName=PathName;
myProcess.StartInfo.UseShellExecute = true;
myProcess.Start();
eyestrong 2003-07-09
  • 打赏
  • 举报
回复
可以尝试更改
系统盘:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config
中的<authentication mode="Windows">这一节来取得权限。把“Windows”改为"System"试试。
好久以前曾经遇到过,现在有点忘记了,不好意思!
eyestrong 2003-07-09
  • 打赏
  • 举报
回复
你的.NET调试器没有取得这台机器的操作权限。
zoulipeng 2003-07-09
  • 打赏
  • 举报
回复
Studing !
lbx1979 2003-07-09
  • 打赏
  • 举报
回复
是不是还有什么参数之类的,应该没有问题的
longjie 2003-07-09
  • 打赏
  • 举报
回复
你引用了那个指令集?
Jesan 2003-07-09
  • 打赏
  • 举报
回复
用eyestrong(有时爱情图有虚名)提供的方法也是不行
Jesan 2003-07-09
  • 打赏
  • 举报
回复
用了chainet(学习创业) 的方法
还是不行啊!

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧