#include <WinSpool.h>
#pragma comment(lib, "Winspool.lib")
#include <shellapi.h>
#pragma comment(lib, "shell32.lib")
BOOL OpenDefaultPrinter()
{
BOOL bRet = FALSE;
DWORD dwSize = 0;
if(!GetDefaultPrinter(NULL, &dwSize)
&& GetLastError()==ERROR_INSUFFICIENT_BUFFER)
{
TCHAR *szPrinter = new TCHAR[dwSize+1];
if(GetDefaultPrinter(szPrinter, &dwSize))
{
if(SHInvokePrinterCommand(
NULL, //GetSafeHwnd(),
PRINTACTION_OPEN,
szPrinter,
NULL,
FALSE))
{
bRet = TRUE;
}
}
delete []szPrinter;
}
return bRet;
}
SHInvokePrinterCommand 打开打印机
最新推荐文章于 2021-08-13 12:16:00 发布