注册 登录
编程论坛 C# 论坛

C# 如何调用rundll32.exe

conanin 发布于 2017-02-03 11:16, 2553 次点击
问题如下,请各位大大指点迷津

我想用C#调用系统自带的rundll32.exe, 来完成网络打印机的安装,具体命令如下:
C:\Windows\System32\rundll32 C:\Windows\SysWOW64\printui.dll,PrintUIEntry /if /b "BasePrinterName" /f absolutePath\driver.INF /r "PortName" /m "DriverModelName" /z

命令可以在cmd窗口下正常执行,但是如下代码会抛出错误“系统找不到指定的文件”:
------------------------------------------------------------------------------------------------------------------------------------------------------
                Process proc = new Process();
                proc.StartInfo.FileName = @"C:\Windows\System32\rundll32 C:\Windows\SysWOW64\printui.dll,PrintUIEntry /if /b ""BasePrinterName"" /f " + Application.StartupPath + @"\Path\driver.INF /r ""PortName"" /m ""DriverModelName"" /z";
                proc.StartInfo.Arguments = "";
                proc.StartInfo.UseShellExecute = true;
                proc.StartInfo.Verb = "runas";
                proc.Start();      // 抛错代码
                proc.WaitForExit();
------------------------------------------------------------------------------------------------------------------------------------------------------

只有本站会员才能查看附件,请 登录

2 回复
#2
zbjzbj2017-02-04 00:29
文件名是rundll32.exe,后面那一串是运行参数,移到参数行中输入。arguments=,,,,,
#3
hzzasdf2017-02-09 02:18
参数放到proc.StartInfo.Arguments里
1