Delphi 10.4 ISAPI打印机.手柄
我在默认处理程序上使用以下代码创建了一个非常简单的ISAPI DLL: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
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中也包含许多对默认打印机的访问。