Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 10.4 ISAPI打印机.手柄_Delphi_Isapi - Fatal编程技术网

Delphi 10.4 ISAPI打印机.手柄

Delphi 10.4 ISAPI打印机.手柄,delphi,isapi,Delphi,Isapi,我在默认处理程序上使用以下代码创建了一个非常简单的ISAPI DLL: procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var DevHandle : THandle; begin Printer.PrinterIndex := 0; DevHandle

我在默认处理程序上使用以下代码创建了一个非常简单的ISAPI DLL:

procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
  DevHandle : THandle;
begin
  Printer.PrinterIndex := 0;
  DevHandle := Printer.Handle;
end;
第二行总是出现“所选打印机无效”的错误。我最初认为这可能是版权问题,但已尝试使用具有足够权限的标识。此外,Printer类会返回与我的计算机上安装的打印机/驱动程序匹配的打印机/驱动程序的正确列表


是否有办法避免此错误,以便选择默认打印机并检索打印机句柄?

我不确定从ISAPI dll打印是否安全,它可能会挂起,多个客户端可以尝试同时访问

我所做的: ISAPI请求在本地数据库上写入它想要打印的内容,然后在客户端显示动画,同时等待外部软件完成该任务


不确定是否有帮助。

IIS/ISAPI不在标准用户帐户下运行。您确定帐户使用具有打印机访问权限吗?我尝试使用具有分配给池的本地管理员权限的特定用户帐户,但遇到相同问题。与LocalSystem帐户相同。在本例中,我使用ace reporter生成一个具有唯一名称的报告文件,它实际上不会发送到打印机。然而,即使报告输出类型设置为“文件”,ace reporter中也包含许多对默认打印机的访问。