rundll的PHP执行

时间:2013-12-28 10:02:02

标签: php execution rundll32

有没有人知道如何在php中执行以下代码?

 <?php
  $output = "rundll32 printui.dll PrintUIEntry /in /n \\omgb-omga-1\printer-hr";
 ?>

运行上述操作不会添加网络打印机......

我在php中的语法是否正确?因为我可以在命令提示符下粘贴命令时添加打印机。

1 个答案:

答案 0 :(得分:0)

使用exec()(请注意,可能需要添加rundll32.exe的完整路径):

$output = array();
exec("C:\\Windows\\system32\\rundll32.exe PrintUIEntry /in /n \\\\omgb-omga-1\\printer-hr", $output);
var_dump($output);

根据this answer,反斜杠应该被转义(我在我的例子中做过),但我不确定命令的参数是否需要它。

请注意exec()仅返回命令返回的最后一行;要获得整个输出,您需要使用一个单独的数组(此处为$output),该数组将填充命令的输出。