프린터 관리
Shell API는 네트워크 프린터를 관리하는 데 사용할 수 있는 함수를 제공합니다. 파일에 연결된 인쇄 동사가 있는 경우 ShellExecuteEx 명령을 사용하여 인쇄할 수 있습니다.
SHInvokePrinterCommand 함수를 사용하여 시스템에서 프린터를 관리할 수 있습니다. 이 함수를 사용하면 다음을 수행할 수 있습니다.
- 프린터를 설치합니다.
- 프린터를 엽니다.
- 프린터 속성을 가져옵니다.
- 프린터 링크를 만듭니다.
- 테스트 페이지를 인쇄합니다.
파일 형식에 연결된 print 명령이 있는 경우 Print를 동사로 사용하여 ShellExecuteEx 를 호출하여 파일을 인쇄 할 수 있습니다. 이 명령은 종종 열려 있는 동사에 사용되는 것과 동일하며, 애플리케이션에 파일을 인쇄하도록 지시하는 플래그가 추가됩니다. instance 경우 Microsoft WordPad에서 .txt 파일을 인쇄할 수 있습니다. 따라서 .txt 파일의 열린 동사는 다음 명령과 같습니다.
"C:\Program Files\Windows NT\Accessories\Wordpad.exe" /p "%1"
ShellExecuteEx를 사용하여 .txt 파일을 인쇄하는 경우 WordPad에서 파일을 열고 인쇄한 다음 닫고 컨트롤을 애플리케이션에 반환합니다. 다음 샘플 함수는 정규화된 경로를 사용하고 ShellExecuteEx 를 사용하여 파일 이름 확장명과 연결된 인쇄 명령을 사용하여 인쇄합니다.
#include <shlobj.h>
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;
}