Vc打印控制在Vc中如何使用esc/pos指令控制票据打印? 那位高人能告诉我Vc打印控制在Vc中如何使用EPSON TM210B打印机字库和如何实现esc/pos指令控制票据打印? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DWORD pcWritten; int n, m, i, h; if(!WritePrinter(phPrinter, "\x01B\x040", 3, &pcWritten)) // 打印机复位,但不影响输入缓冲区数据 return FALSE; //WritePrinter(phPrinter, "\x01C\x078\x001", 3, &pcWritten);//高速高密 //WritePrinter(phPrinter, "\x01B\x03c", 2, &pcWritten); // 当前行单行打印 WritePrinter(phPrinter, "\x01B\x033\x04", 3, &pcWritten); // 1B 33 n:设定n/180英寸行距,n小于256 WritePrinter(phPrinter, "\x01B\x043\x0B4", 3, &pcWritten); // 1B 43 n:设定页长为n行,n小于128 //WritePrinter(phPrinter, "\x01B\x02B\x0E", 3, &pcWritten); // 1B 33 n:设定n/360英寸行距,n小于256 //WritePrinter(phPrinter, "\x01B\x043\x067", 3, &pcWritten); // 1B 43 n:设定页长为n行,n小于128 //WritePrinter(phPrinter, "\x01B\x032", 2, &pcWritten); // 1B 32:设定1/6英寸行距 // 1B 55 n:设定单双向打印,n=0字符双向图形单向、n=1全单向、n=2全双向 //WritePrinter(phPrinter, "\x01B\x055\x01", 3, &pcWritten); //WritePrinter(phPrinter, "\x01C\x026", 2, &pcWritten); // 设置中文打印模式 HANDLE phPrinter = NULL; char szPrinter[80]; char *szDevice,*szDriver,*szOutput; // 得到设备字符串存入数组szprinter中 GetProfileString("windows", "device", ",,,", szPrinter, 80); //Windows2000:HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersoin\Windows\Device // szPrinter = "Star CR-3240,winspool,LPT1:" // 将设备字符串分解 if (NULL == (szDevice = strtok(szPrinter,",")) || NULL == (szDriver = strtok(NULL,",")) || NULL == (szOutput = strtok(NULL,","))) { MessageBox("没有设置打印机。", "打印信息", MB_ICONINFORMATION); return; } if (gLibDll == NULL) gLibDll = LoadLibrary("PrintDrv.dll"); if (gLibDll == NULL) { MessageBox("无法建立打印服务。", "打印信息", MB_ICONINFORMATION); return; } PrintTicket = (PRINTTICKET)GetProcAddress(gLibDll, "PrintTicket"); PrintTicketBegin = (PRINTTICKETBEGIN)GetProcAddress(gLibDll, "PrintTicketBegin"); PrintTicketEnd = (PRINTTICKETEND)GetProcAddress(gLibDll, "PrintTicketEnd"); DOC_INFO_1 info; info.pDocName = "DocName"; info.pOutputFile = szOutput; info.pDatatype = NULL; if(!OpenPrinter(szPrinter, &phPrinter, NULL)) MessageBox("没有安装打印机驱动程序。", "打印信息", MB_ICONERROR); 这是我以前为客户做的一个软件用到的,我打印放在DLL中的,上面代码if (gLibDll == NULL) gLibDll = LoadLibrary("PrintDrv.dll"); if (gLibDll == NULL) { MessageBox("无法建立打印服务。", "打印信息", MB_ICONINFORMATION); return; } PrintTicket = (PRINTTICKET)GetProcAddress(gLibDll, "PrintTicket"); PrintTicketBegin = (PRINTTICKETBEGIN)GetProcAddress(gLibDll, "PrintTicketBegin"); PrintTicketEnd = (PRINTTICKETEND)GetProcAddress(gLibDll, "PrintTicketEnd");直接去掉 如何获取打印机HANDLE 怎么在程序中移动桌面快捷方式的位置? IE自定义工具条按钮标注 工具条按钮的简单问题!在线等! 有些问题,希望听听大家的意见~ dll中用CreateToolbarEx创建工具栏!! 请推荐VC大牛的源代码,我只听说过一个JUINT但好像是JAVA的 如何在dll中定义变量,使得应用程序可以调用? 怎样给HBRUSH类型的变量m_hYellowBrush赋值? 在对话框中创建SDK窗口 VC下 如何用javascript调用dll的时候,但是不弹出签名的对话框?
int n, m, i, h; if(!WritePrinter(phPrinter, "\x01B\x040", 3, &pcWritten)) // 打印机复位,但不影响输入缓冲区数据
return FALSE;
//WritePrinter(phPrinter, "\x01C\x078\x001", 3, &pcWritten);//高速高密
//WritePrinter(phPrinter, "\x01B\x03c", 2, &pcWritten); // 当前行单行打印
WritePrinter(phPrinter, "\x01B\x033\x04", 3, &pcWritten); // 1B 33 n:设定n/180英寸行距,n小于256
WritePrinter(phPrinter, "\x01B\x043\x0B4", 3, &pcWritten); // 1B 43 n:设定页长为n行,n小于128
//WritePrinter(phPrinter, "\x01B\x02B\x0E", 3, &pcWritten); // 1B 33 n:设定n/360英寸行距,n小于256
//WritePrinter(phPrinter, "\x01B\x043\x067", 3, &pcWritten); // 1B 43 n:设定页长为n行,n小于128
//WritePrinter(phPrinter, "\x01B\x032", 2, &pcWritten); // 1B 32:设定1/6英寸行距
// 1B 55 n:设定单双向打印,n=0字符双向图形单向、n=1全单向、n=2全双向
//WritePrinter(phPrinter, "\x01B\x055\x01", 3, &pcWritten);
//WritePrinter(phPrinter, "\x01C\x026", 2, &pcWritten); // 设置中文打印模式
char *szDevice,*szDriver,*szOutput;
// 得到设备字符串存入数组szprinter中
GetProfileString("windows", "device", ",,,", szPrinter, 80);
//Windows2000:HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersoin\Windows\Device
// szPrinter = "Star CR-3240,winspool,LPT1:"
// 将设备字符串分解
if (NULL == (szDevice = strtok(szPrinter,",")) ||
NULL == (szDriver = strtok(NULL,",")) ||
NULL == (szOutput = strtok(NULL,",")))
{
MessageBox("没有设置打印机。",
"打印信息", MB_ICONINFORMATION);
return;
}
if (gLibDll == NULL)
gLibDll = LoadLibrary("PrintDrv.dll");
if (gLibDll == NULL)
{
MessageBox("无法建立打印服务。",
"打印信息", MB_ICONINFORMATION);
return;
} PrintTicket = (PRINTTICKET)GetProcAddress(gLibDll, "PrintTicket");
PrintTicketBegin = (PRINTTICKETBEGIN)GetProcAddress(gLibDll, "PrintTicketBegin");
PrintTicketEnd = (PRINTTICKETEND)GetProcAddress(gLibDll, "PrintTicketEnd");
DOC_INFO_1 info;
info.pDocName = "DocName";
info.pOutputFile = szOutput;
info.pDatatype = NULL;
if(!OpenPrinter(szPrinter, &phPrinter, NULL))
MessageBox("没有安装打印机驱动程序。", "打印信息", MB_ICONERROR);
if (gLibDll == NULL)
gLibDll = LoadLibrary("PrintDrv.dll");
if (gLibDll == NULL)
{
MessageBox("无法建立打印服务。",
"打印信息", MB_ICONINFORMATION);
return;
} PrintTicket = (PRINTTICKET)GetProcAddress(gLibDll, "PrintTicket");
PrintTicketBegin = (PRINTTICKETBEGIN)GetProcAddress(gLibDll, "PrintTicketBegin");
PrintTicketEnd = (PRINTTICKETEND)GetProcAddress(gLibDll, "PrintTicketEnd");
直接去掉