`

C/C++语言操作打印机

 
阅读更多

#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
 
#define PRINTER_NAME "HP Officejet J5700 Series"
 
int main() {
    string hello = "!!! Hello Printer !!!\f";
    HANDLE hPrinter = NULL;
    DOC_INFO_1 DocInfo;
    DWORD      dwJob;
    DWORD      dwBytesWritten = 0L;
     
    if(OpenPrinter((LPTSTR)_T(PRINTER_NAME), &hPrinter, NULL )) {
        cout << "printer opened" << endl;
        DocInfo.pDocName = (LPTSTR)_T("My Document");
        DocInfo.pOutputFile = NULL;
        DocInfo.pDatatype = (LPTSTR)_T("RAW");
        dwJob = StartDocPrinter( hPrinter, 1, (LPBYTE)&DocInfo );
        if (dwJob != 0) {
            cout << "Print job open" << endl;
            if (StartPagePrinter( hPrinter )) {
                cout << "Page started" << endl;
                // Send the data to the printer.
                if (WritePrinter( hPrinter, (void*)hello.c_str(), hello.length(), &dwBytesWritten)) {
                    if (dwBytesWritten == hello.length()) { cout << "Message sent to printer" << endl; }
                }
                EndPagePrinter (hPrinter);
                cout << "Page Closed" << endl;
            }
            // Inform the spooler that the document is ending.
            EndDocPrinter( hPrinter );
            cout << "Print job open" << endl;
        } else {
                cout << "Could not create print job" << endl;
        }
        // Close the printer handle.
        ClosePrinter( hPrinter );
        cout << "printer closed" << endl;
    } else {
        cout << "Could not open Printer" << endl;
    }
    cout << "done";
    return 0;
}

 上面是简单的实现,能给大家一些帮助

 

 

1
2
分享到:
评论

相关推荐

    数据结构(c/c++语言版)课件下载

    C和C++语言由于其高效性和灵活性,常被用于实现数据结构。本课件集合针对C/C++语言的数据结构进行了详细讲解,旨在帮助学习者深入理解数据结构的基本概念及其在实际编程中的应用。 首先,我们从第1章开始,这通常会...

    条形码与打印机程序 C/C++

    在本文中,我们将深入探讨如何使用C/C++编程语言来开发一个针对单片机的条形码扫描仪驱动程序,以及如何在液晶屏幕上显示扫描结果并利用打印机输出相关信息。 首先,我们要理解C/C++在嵌入式领域的应用。C和C++是两...

    C/C++ 调用Adobe Acrobat Reader DC实现PDF文件打印

    本话题聚焦于使用C/C++编程语言调用Adobe Acrobat Reader DC来实现PDF文件的打印功能。Adobe Acrobat Reader DC是一款广泛使用的PDF阅读器,它提供了丰富的API接口,允许开发者通过编程方式控制其行为,包括打开、...

    操作系统 课程设计 C++ 模拟文件系统 源代码 实验报告

    操作系统 课程设计 C++ 模拟文件系统 源代码,写实验报告必备良品,代码无错,直接运行VC

    C++虚拟打印机

    C++虚拟打印机是一种软件开发技术,它允许用户将任何可打印文档转换为特定格式,例如PDF、PNG或JPEG,而无需实际的物理打印机。这种技术在很多领域都有应用,如电子文档存储、预览和分享。半开源的C++虚拟打印机代码...

    open watcom c/c++ c 程序设计手册

    2. ANSI C 标准:本手册遵循 ANSI C 标准,对 C 语言的语法、库函数和编程技术进行了详细的介绍。 3. Watcom GML 电子出版系统:本手册使用 Watcom GML 电子出版系统, writers 使用 ASCII 文本编辑器创建源文件,...

    针式打印机VC程序,已经调试通过的

    针式打印机VC程序是一种利用Microsoft Visual C++(VC++)编写的软件,用于精确控制针式打印机执行打印任务。针式打印机通常使用机械式的打印头,由多针排列组成,每针撞击色带来形成文字或图像,适用于大量、经济且...

    手撕代码_C语言手撕_C++_手撕代码c++_

    这个话题对于理解和掌握数据结构以及算法有着重要意义,因为堆栈和队列是基础数据结构,而C++则是广泛应用于系统级编程和高性能计算的语言。 首先,让我们深入理解堆栈和队列的基本概念。堆栈是一种后进先出(LIFO...

    NodeJS C++,打印机模块源码

    C++是底层系统编程的强大工具,能够直接访问操作系统的API,如Windows的WinAPI或Linux的POSIX接口,以控制打印机。 源码中可能包含了以下关键部分: 1. **Node.js Addon接口**:使用`node-addon-api`或者早期的`...

    佳博标签打印机 tspl指令集

    这两个文件分别是32位和64位的TSPL库,用于Windows平台,可以帮助开发者在C/C++或.NET环境中直接调用TSPL指令集进行打印操作。 7. **Gprinter条码打印机驱动.rar**: 提供佳博打印机的驱动程序,用于安装到计算机...

    Mortor.rar_嵌入式/单片机/硬件编程_C/C++_

    标题"Mortor.rar_嵌入式/单片机/硬件编程_C/C++_"指的是一个与嵌入式系统、单片机编程以及C/C++语言相关的压缩文件,其中包含了一个名为"Mortor"的子文件。这个文件很可能是针对某个特定项目或教程,涉及到了用C/C++...

    PT486F-H.rar_打印编程_C/C++_

    这个特定的压缩包专注于“打印编程”,使用C或C++语言,这表明它可能包含有关如何使用这些编程语言控制打印机硬件的详细信息。"PT468F-H"可能是某种打印机模型的型号,暗示该资料是为该特定设备编写的。 描述提到这...

    horus-fw-develop.rar_3D打印_C/C++_

    1. **底层控制**:由于C/C++的高效性和低级别访问能力,它们常用于编写直接控制3D打印机硬件的固件,如步进电机驱动、温度控制等。"Horus-fw-develop"中的源代码可能就包含了这些关键模块。 2. **数据处理**:在3D...

    bujindianji.rar_DSP编程_C/C++_

    标题中的“bujindianji.rar_DSP编程_C/C++_”表明这是一个...通过深入研究这些文件和代码,初学者不仅能掌握步进电机的控制技术,还能提升在DSP编程和C/C++语言上的技能,为将来从事相关领域的开发工作打下坚实基础。

    EanPrint.rar_单片机开发_C/C++_

    C/C++是两种强大的编程语言,C语言结构简洁,易于移植,而C++则增加了面向对象的特性,使得代码可重用性更强。在单片机开发中,C/C++允许开发者直接对硬件进行操作,实现高效、低级别的控制。 条码打印机是一种能够...

    ez-usbDA.rar_USB编程_C/C++_

    标题中的“ez-usbDA.rar”是一个压缩包文件,它涉及到USB编程,特别是使用C/C++语言进行开发。"ez-usb"通常指的是 Cypress Semiconductor 的EZ-USB系列芯片,这些芯片设计用于USB设备接口,提供了方便的USB通信功能...

    SPL2emf.zip_打印编程_C/C++_

    标签"打印编程 C/C++"进一步强调了这个压缩包的核心内容,即它涉及到使用C或C++语言进行打印功能的开发。在C/C++编程中,打印功能通常涉及到系统调用、库函数,如Windows API中的GDI(Graphics Device Interface)...

    Main.rar_Windows编程_C/C++_

    C/C++语言因其高效、灵活性和广泛的库支持,成为了Windows编程的常用工具。 1. **C/C++基础**:C和C++是两种不同的编程语言,但它们有紧密的联系。C++是在C语言基础上扩展的,支持面向对象编程。在Windows编程中,...

    usb.rar_驱动编程_C/C++_

    标题中的“usb.rar_驱动编程_C/C++_”表明这个压缩包内容主要涉及USB驱动程序的开发,使用的编程语言是C或C++。USB驱动编程是计算机科学领域的一个重要部分,尤其是在嵌入式系统和设备驱动开发中。下面将详细阐述USB...

Global site tag (gtag.js) - Google Analytics