b2c信息网

您现在的位置是:首页 > 前天新闻 > 正文

前天新闻

c源码打印机状态(打印机出现c0)

hacker2022-06-14 22:34:19前天新闻104
本文目录一览:1、请教C语言编程能否控制打印机

本文目录一览:

请教C语言编程能否控制打印机

控制一个外设从原理上说其实很简单,两个主要步骤:

1.编写设备和主机通讯接口的驱动,提供基本的数据交互接口

2.熟悉设备的通讯协议,基于1中的接口,按照协议交互数据即可

所谓协议,其实就是两台机器之间子集定义的一套语言,最简单的例子就是:

A发1,B收到1时知道A是处于运行状态,那么这个数字1就可以看成是A和B之间的一个协议,因为它们双方都懂得1的含义

C#基于C/S模式开发的打印功能如何实现?

楼主,你好,这是我以前摘抄过的东西,你看看对你有用吧。。。 NET Framework提供了一些重要的打印类:

PrintDocument: PrintDocument 用于将输出发送到打印机。可实例化一个 PrintDocument,设置一些属性描述打印的内容,然后调用 Print 方法。PrintDocument 为要打印的每一页引发 PrintPage 事件。可向此事件的事件处理程序添加打印逻辑。

PrinterSettings: 有关应如何打印文档的信息。这包括在哪个打印机上打印该文档。

PageSettings: 有关应如何打印页的信息。

PrintPageEventArgs: PrintDocument 上 PrintPage 事件的数据。它为打印图面提供剪辑矩形和 Graphics 对象。

PrintEventArgs: PrintDocument 上 BeginPrint 和 EndPrint 事件的数据。允许取消打印作业。

PrintDialog: 打印机选项对话框。

PageSetupDialog: 页属性对话框。

PrintPreviewControl: 显示 PrintDocument 的控件。允许创建打印预览对话框。

PrintPreviewDialog: 通过使用 PrintPreviewControl 显示 PrintDocument 的对话框。

根据您的需要,提供一些简单的打印源代码,供您参考:

private void btnPrint_Click(object sender, System.EventArgs e)

{

try

{

streamToPrint = new StreamReader ("PrintMe.Txt");

try

{

printFont = new Font("Arial", 10);

PrintDocument pd = new PrintDocument();

pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);

pd.Print();

}

finally

{

streamToPrint.Close() ;

}

}

catch(Exception ex)

{

MessageBox.Show("打印文件时发生错误 - " + ex.Message);

}

}

请根据您系统的实际情况,将提供的代码进行修改。希望以上答复给您带来帮助。

另外,Visual Studio.NET也提供了一些打印及打印预览的简单例子和源代码[C:\Program Files\Microsoft Visual Studio .Net\FrameworkSDK\Samples\quickstart\winforms\Samples\Printing\SimplePad ],可供您参考。

C语言怎么才能控制打印机打印

//1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 // for循环,第一层控制行,第二层控制列。 #includestdio.h void main(){ int i,j,k; for(i=0;i4;i++)//for循环,第一层控制行 { for(j=0;j=2-i;j++)//第二层控制列。 printf(" "); for(j=0;j=2*i;j++) printf("*"); printf("\n"); }//前四行一个规律,先输入空格,后输入*;有规律的; for(i=2;i=0;i--)//for循环,第一层控制行 { for(j=0;j=2-i;j++)//第二层控制列。输出空格; printf(" "); for(j=2*i;j=0;j--)//输出*; printf("*"); printf("\n");} getch();//可省略的函数,感觉用途就是可以在显示的时可以不用看到press any key to continue // 不过是个有用的函数以后学习逐个输出时有用 } 自己编的希望对你有用,不会的话在和我说

C++有什么接口可以获取打印机状态?

下面是我用过的针式打印机状态测试函数。环境为:DOS, Turbo C 2.0 编译。

你所说的 USB,我不懂。家里使用过喷墨打印机,使用 USB 接口,明确标示:不支持 DOS。

C++ 语言,不懂。正想从 C 转到 C++。

int far dyhztcs ( ) /* 打印机状态测试 */

{

/* DOS.H 中定义的寄存器数据结构和共用体变量

struct WORDREGS {

unsigned int ax, bx, cx, dx, si, di, cflag, flags;

};

struct BYTEREGS {

unsigned char al, ah, bl, bh, cl, ch, dl, dh;

};

union REGS {

struct WORDREGS x;

struct BYTEREGS h;

};

使用 DOS.H 后,这部分可以不用。

*/

union REGS reg; /* 定义共用体变量 */

int dyjzt; /* 打印机状态 */

dyjzt = 0;

/* 功能号 2;取打印机状态 */

reg.h.ah = 2; /* 寄存器 AX 的高位 AH */

reg.h.al = 0; /* 寄存器 AX 的低位 AL */

reg.h.dh = 0; /* 寄存器 DX 的高位 DH */

reg.h.dl = 0; /* 寄存器 DX 的低位 DL */

int86 ( 0x17, reg, reg ); /* 调用 17 号中断 */

if ( ( reg.h.ah 0x10 ) != 0 ) /* 选择的打印机 */

if ( ( reg.h.ah 0x40 ) == 0 ) /* 确认;返回寄存器 AX 的 AH 第六位 */

dyjzt = 1; /* 就绪时为 0,而断电时为 1 */

if ( ( reg.h.ah 0x80 ) == 0 ) /* 空闲 */

dyjzt = 0;

return ( dyjzt );

}

发表评论

评论列表

  • 世味弥繁(2022-06-15 00:27:38)回复取消回复

    ocument pd = new PrintDocument(); pd.PrintPage += new PrintP

  • 鸠骨沐白(2022-06-14 22:42:12)回复取消回复

    interSettings: 有关应如何打印文档的信息。这包括在哪个打印机上打印该文档。 PageSettings: 有关应如何打印页的信息。 Pri