delohi7,不用其它外部控件,调用Win10的PDF虚拟打印机,不需要弹出“将打印输出另存为”窗的对话窗,直接保存为指定PDF文件。
SetDefaultPrinter('Microsoft Print to PDF');
.......
FormReport.QuickRep1.Print;
可以用findwindow找到打开对话框,再发送一个wm_command消息,确认。
这种方式对话框会闪一下。
如果要彻底看不见,可以api hook 拦截 getopenfilename 这个api,传入自己要保存的路径
不行的话 可以自己使用代码实现打印PDF的功能,一般系统自带的都有打印对话框和预览功能