在用Escape()函数向打印机直接发送控制字符时遇到了一些迷惑;
在EPSON-1600K的控制字符集中,有一个能实现控制打印机走纸的控制字符;使用手册上写着该控制字符有如下格式:
ASCII码:ESC N n
十进制码:27 78 n
十六进制码:1B 4E n
其中n是上一页最后一行和下一页第一行之间的行数;值从1到127;
问题是当使用Escape()函数向打印机发送控制字符时,该函数的第四个参数该如何写?以字符串的形式发送过去后打印机能自动识别是哪种编码吗?比如下面的写法对吗?
Escape(hDC,PASSTHROUGH,7,"27 78 1",NULL);还望各位高手赐教啊~~~!!!!附:
int Escape(
HDC hdc,
int nEscape,
int cbInput,
LPCSTR lpvInData,
LPVOID lpvOutData
);
在EPSON-1600K的控制字符集中,有一个能实现控制打印机走纸的控制字符;使用手册上写着该控制字符有如下格式:
ASCII码:ESC N n
十进制码:27 78 n
十六进制码:1B 4E n
其中n是上一页最后一行和下一页第一行之间的行数;值从1到127;
问题是当使用Escape()函数向打印机发送控制字符时,该函数的第四个参数该如何写?以字符串的形式发送过去后打印机能自动识别是哪种编码吗?比如下面的写法对吗?
Escape(hDC,PASSTHROUGH,7,"27 78 1",NULL);还望各位高手赐教啊~~~!!!!附:
int Escape(
HDC hdc,
int nEscape,
int cbInput,
LPCSTR lpvInData,
LPVOID lpvOutData
);
解决方案 »
- 屏幕坐标如何转化为opengl中的坐标
- 这是什么错误?“not using the latest Platform SDK header/library ”
- 求MSDN 2001 OCTOBER
- 急需解决一个关于COM技术的问题---在Visual C++ 环境下的程序
- DATETIMEPICKER控件怎么使他的值为空啊?
- 一个小问题,高手来分析下~
- 在static text control中,用ClassWizard在Member Variables中如何才能定义一个long类型的变量?
- 如何在一个类的实例中运行另一个类的实例的函数?
- 求助ActiveX高手!
- editcontrol 控件计时器功能
- 如何在CSliderCtrl控件下加上数字?谢谢!
- 我想用完成端口发送和接收数据,可是遇到问题了,我接收到数据后,应该在哪里解析呢。解析以后我要加一些自己的操作,然后发送,可是在哪
Escape(hdcPrint, PASSTHROUGH, 3, cCommand, NULL);
Escape(hdcPrint, PASSTHROUGH, 3, cCommand, NULL);
lfchen(一条晚起的虫) ,厉害!那也就是说打印机会自动识别传过去的控制字符是哪种编码吗?
那如果要发送ASCII码和十六进制码呢?
ASCII码:ESC N n
十进制码:27 78 n
十六进制码:1B 4E n
仔细看看 ESC = 27 = 0x27 , 'N' = 78 = 0x4E
Debug时,程序运行到 Escape(hdcPrint, PASSTHROUGH, 3, cCommand, NULL);这一句时提示:
"Unhandled exception in XXX.exe(GDI32.DLL) : 0xC0000005 : Access Violation"
后来用CDC的drawEscape(PASSTHROUGH, 3, cCommand)试了一下,没有报错;但是返回的值小于0;也没能实现控制打印机不走纸的功能;
高手们再来帮看一下啊;谢谢啦~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~