Управление принтерами
API оболочки предоставляет функции, которые можно использовать для управления сетевыми принтерами. Если с файлом связана команда печати , его можно распечатать с помощью команды ShellExecuteEx .
Управление принтерами
Вы можете управлять принтерами в системе с помощью функции SHInvokePrinterCommand . Эта функция позволяет:
- Установка принтеров.
- Откройте принтеры.
- Получение свойств принтера.
- Создание ссылок на принтер.
- Напечатайте тестовую страницу.
Печать файлов с помощью ShellExecuteEx
Если с типом файла связана команда print, можно распечатать файл, вызвав ShellExecuteEx с командой print . Эта команда часто совпадает с командой open с добавлением флага, указывающего приложению на печать файла. Например, .txt файлы можно распечатать с помощью Microsoft WordPad. Таким образом , команда open для файла .txt будет соответствовать примерно следующей команде:
"C:\Program Files\Windows NT\Accessories\Wordpad.exe" /p "%1"
При использовании ShellExecuteEx для печати файла .txt WordPad открывает файл, печатает его, а затем закрывается, возвращая управление приложению. Следующий пример функции принимает полный путь и использует ShellExecuteEx для его печати с помощью команды print, связанной с расширением имени файла.
#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;
}