首页  /  预约专享  /  管理打印机 - Win32 apps

管理打印机 - Win32 apps

预约专享 4892

Shell API 提供可用于管理网络打印机的函数。 如果文件具有与之关联的 打印 谓词,则可以使用 ShellExecuteEx 命令 打印它。

打印机管理

使用 ShellExecuteEx 打印文件

打印机管理

可以使用 SHInvokePrinterCommand 函数管理系统上的打印机。 此函数允许你:

安装打印机。

打开打印机。

获取打印机属性。

创建打印机链接。

打印测试页面。

使用 ShellExecuteEx 打印文件

如果文件类型有与之关联的 print 命令,可以通过调用 ShellExecuteExecuteEx 并将 print 作为谓词来打印文件。 此命令通常与用于 打开 谓词的命令相同,并添加了一个标志来告知应用程序打印文件。 例如,microsoft 写字板可以打印.txt文件。 因此,.txt文件的 打开 谓词对应于类似于以下命令的内容:

"C:\Program Files\Windows NT\Accessories\Wordpad.exe" /p "%1"

使用 ShellExecuteEx 打印.txt文件时,写字板将打开该文件,打印该文件,然后关闭,并将控制权返回给应用程序。 下面的示例函数采用完全限定的路径,并使用 ShellExecuteEx 打印该路径,并使用与其文件扩展名关联的 print 命令。

#include

HINSTANCE PrintFile(LPCTSTR pszFileName)

{

SHELLEXECUTEINFO ShExecInfo;

HINSTANCE hInst;

// Fill the SHELLEXECUTEINFO array.

ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);

ShExecInfo.fMask = NULL;

ShExecInfo.hwnd = NULL;

ShExecInfo.lpVerb = "print";

ShExecInfo.lpFile = pszFileName; // a fully qualified path

ShExecInfo.lpParameters = NULL;

ShExecInfo.lpDirectory = NULL;

ShExecInfo.nShow = SW_MAXIMIZE;

ShExecInfo.hInstApp = NULL;

hInst = ShellExecuteEx(&ShExecInfo);

return hInst;

}