영어로 읽기

다음을 통해 공유


프린터 관리

Shell API는 네트워크 프린터를 관리하는 데 사용할 수 있는 함수를 제공합니다. 파일에 연결된 인쇄 동사가 있는 경우 ShellExecuteEx 명령을 사용하여 인쇄할 수 있습니다.

프린터 관리

SHInvokePrinterCommand 함수를 사용하여 시스템에서 프린터를 관리할 수 있습니다. 이 함수를 사용하면 다음을 수행할 수 있습니다.

  • 프린터를 설치합니다.
  • 프린터를 엽니다.
  • 프린터 속성을 가져옵니다.
  • 프린터 링크를 만듭니다.
  • 테스트 페이지를 인쇄합니다.

ShellExecuteEx를 사용하여 파일 인쇄

파일 형식에 연결된 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;
}