// ImpactDllDemoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ImpactDllDemo.h"
#include "ImpactDllDemoDlg.h"
#include "LoadDll.h"
#include "PrintSamples.h"
#include "Winspool.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
HANDLE g_hComm = INVALID_HANDLE_VALUE;//端口句柄
int nPortType = -1; //端口类型
bool IsPrinter = false;//判断是否是用驱动程序打印
bool bSaveToTxt = false;//是否选择数据保存到文件Test.txt,不向端口下发
HWND m_hHelpWnd;
extern HMODULE g_hImpactdll;//动态库句柄
extern Impact_Open VC_Impact_Open;//打开端口
extern Impact_Close VC_Impact_Close;//关闭端口
extern Impact_RTQueryStatus VC_Impact_RTQueryStatus;//实时状态查询
extern Impact_NETQueryStatus VC_Impact_NETQueryStatus;//网络接口的状态查询
extern Impact_StartDoc VC_Impact_StartDoc;//启动一个文档
extern Impact_EndDoc VC_Impact_EndDoc;//结束一个文档
extern Impact_BeginSaveFile VC_Impact_BeginSaveFile;//启动保存数据到文件
extern Impact_EndSaveFile VC_Impact_EndSaveFile;//结束保存数据到文件
extern Impact_GetVersionInfo VC_Impact_GetVersionInfo;//获取当前动态库版本
/////////////////////////////////////////////////////////////////////////////
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CImpactDllDemoDlg dialog
CImpactDllDemoDlg::CImpactDllDemoDlg(CWnd* pParent)
: CDialog(CImpactDllDemoDlg::IDD, pParent)
{
m_strDrvName = _T("");
m_strMsg = _T("");
nPortType = 0;
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CImpactDllDemoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_STOPBITS, m_ctrlStopBits);
DDX_Control(pDX, IDC_QUERY_STATUS, m_ctrlQueryStatus);
DDX_Control(pDX, IDC_PRINT, m_ctrlPrint);
DDX_Control(pDX, IDC_PARITY, m_ctrlParity);
DDX_Control(pDX, IDC_LPT_NAME, m_ctrlLPTName);
DDX_Control(pDX, IDC_IPADDRESS, m_ctrlIPAddr);
DDX_Control(pDX, IDC_FLOW_CONTROL, m_ctrlFlowControl);
DDX_Control(pDX, IDC_DRV_NAME, m_ctrlDrvName);
DDX_Control(pDX, IDC_DATABITS, m_ctrlDataBits);
DDX_Control(pDX, IDC_COM_NAME, m_ctrlComName);
DDX_Control(pDX, IDC_CLOSE_PORT, m_ctrlClosePort);
DDX_Control(pDX, IDC_BAUDRATE, m_ctrlBaudrate);
DDX_CBString(pDX, IDC_DRV_NAME, m_strDrvName);
DDX_Text(pDX, IDC_EDIT_STATUS, m_strMsg);
DDX_Radio(pDX, IDC_PORT_COM, nPortType);
}
BEGIN_MESSAGE_MAP(CImpactDllDemoDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_PORT_COM, OnPortCom)
ON_BN_CLICKED(IDC_PORT_LPT, OnPortLpt)
ON_BN_CLICKED(IDC_PORT_USB, OnPortUsb)
ON_BN_CLICKED(IDC_PORT_NET, OnPortNet)
ON_BN_CLICKED(IDC_PORT_DRV, OnPortDrv)
ON_BN_CLICKED(IDC_OPEN_PORT, OnOpenPort)
ON_BN_CLICKED(IDC_QUERY_STATUS, OnQueryStatus)
ON_BN_CLICKED(IDC_PRINT, OnPrint)
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_CLOSE_PORT, OnClosePort)
ON_BN_CLICKED(IDC_SAVE_TO_TXT, OnSaveToTxt)
ON_WM_HELPINFO()
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CImpactDllDemoDlg message handlers
BOOL CImpactDllDemoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
if ( false == LoadImpactdll() )
{
// 如果动态库加载失败, 则退出
AfxMessageBox("加载动态库失败!");
CDialog::OnCancel();
return false;
}
/*初始化界面显示*/
m_ctrlIPAddr.SetAddress(192,168,10,251);
m_ctrlIPAddr.EnableWindow(false);
m_ctrlComName.SetCurSel(0);
m_ctrlDataBits.SetCurSel(1);
m_ctrlBaudrate.SetCurSel(2);
m_ctrlStopBits.SetCurSel(0);
m_ctrlParity.SetCurSel(2);
m_ctrlFlowControl.SetCurSel(1);
m_ctrlLPTName.SetCurSel(0);
SetDlgItemText(IDC_DRV_NAME,"BTP-M170(S)");
int iMajor,iMinor;
CString str,tmp;
VC_Impact_GetVersionInfo(&iMajor,&iMinor);
str = "一切正常,版本号V";
tmp.Format("%d.%d",iMajor,iMinor);
str += tmp;
SetDlgItemText(IDC_EDIT_STATUS,str);
/*枚举当前安装的打印机*/
m_ctrlDrvName.ResetContent();
UpdateData(TRUE);
DWORD dwNeed, dwReturn, dwTemp, i;
int ret;
CString m_strprinter;
PRINTER_INFO_2 * pPrinterInfo;
PRINTER_INFO_2 * m_pPrinterInfo;
m_pPrinterInfo = new PRINTER_INFO_2;
ret = EnumPrinters( PRINTER_ENUM_LOCAL,NULL,2,(LPBYTE)m_pPrinterInfo,sizeof(PRINTER_INFO_2),&dwNeed,&dwReturn );
delete m_pPrinterInfo;
if( ( m_pPrinterInfo = ( PRINTER_INFO_2 * )new BYTE[dwNeed] ) == NULL )
{
return FALSE;
}
ret = EnumPrinters (PRINTER_ENUM_LOCAL,NULL,2,(LPBYTE)m_pPrinterInfo,dwNeed,&dwTemp,&dwReturn);
CString str1;
for (i = 0; i < dwReturn; i++ )//Show Driver Name
{
pPrinterInfo = m_pPrinterInfo + i;
str1.Format("%s",pPrinterInfo->pPrinterName );
if( ( str1.Find( "BT", 0 ) >= 0 ) )
{
m_ctrlDrvName.AddString( pPrinterInfo->pPrinterName );
}
}
m_ctrlDrvName.SetCurSel(0);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
void CImpactDllDemoDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
CDialog::OnSysCommand(nID, lParam);
}
void CImpactDllDemoDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
HCURSOR CImpactDllDemoDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CImpactDllDemoDlg::OnPortCom() //端口选择为串口
{
m_ctrlComName.EnableWindow(true);
m_ctrlDataBits.EnableWindow(true);
m_ctrlBaudrate.EnableWindow(true);
m_ctrlStopBits.EnableWindow(true);
m_ctrlParity.EnableWindow(true);
m_ctrlFlowControl.EnableWindow(true);
m_ctrlLPTName.EnableWindow(false);
m_ctrlIPAddr.EnableWindow(false);
m_ctrlDrvName.EnableWindow(false);
SetDlgItemText(IDC_EDIT_STATUS,"端口选择为串口");
VC_Impact_Close(g_hComm,nPortType);
nPortType = 0;
m_ctrlQueryStatus.EnableWindow(false);
m_ctrlPrint.EnableWindow(false);
m_ctrlClosePort.EnableWindow(false);
GetDlgItem(IDC_OPEN_PORT)->EnableWindow(true);
}
void CImpactDllDemoDlg::OnPortLpt() //端口选择为并口
{
m_ctrlLPTName.EnableWindow(true);
m_ctrlComName.EnableWindow(false);
m_ctrlDataBits.EnableWindow(false);
m_ctrlBaudrate.EnableWindow(false);
m_ctrlStopBits.EnableWindow(false);
m_ctrlParity.EnableWindow(false);
m_ctrlFlowControl.EnableWindow(false);
m_ctrlIPAddr.EnableWindow(false);
m_ctrlDrvName.EnableWindow(false);
SetDlgItemText(IDC_EDIT_STATUS,"端口选择为并口");
VC_Impact_Close(g_hComm,nPortType);
nPortType = 1;
m_ctrlQueryStatus.EnableWindow(false);
m_ctrlPrint.EnableWindow(false);
m_ctrlClosePort.EnableWindow(false);
GetDlgItem(IDC_OPEN_PORT)->EnableWindow(true);
}
void CImpactDllDemoDlg::OnPortUsb() //端口选择为USB口
{
m_ctrlComName.EnableWindow(false);
m_ctrlDataBits.EnableWindow(false);
m_ctrlBaudrate.EnableWindow(false);
m_ctrlStopBits.EnableWindow(false);
m_ctrlParity.EnableWindow(false);
m_ctrlFlowControl.EnableWindow(false);
m_ctrlLPTName.EnableWindow(false);
m_ctrlIPAddr.EnableWindow(false);
m_ctrlDrvN
没有合适的资源?快使用搜索试试~ 我知道了~
新北洋针式票据打印机开发包及例程
共91个文件
bmp:24个
exe:7个
h:6个
4星 · 超过85%的资源 需积分: 33 9 下载量 81 浏览量
2018-03-15
09:03:08
上传
评论 1
收藏 4.82MB RAR 举报
温馨提示
新北洋针式票据打印机BTP-M300二次开发包,包括ImpactDLLDemo_VC、ImpactDLLDemo_VB、ImpactDLLDemo_Delphi、AntiRotateBmp 开发demo,有需要的朋友请下载看看,我的项目集成开发进去了,支持32位,64位系统好用记得好评
资源推荐
资源详情
资源评论
收起资源包目录
针式打印机二次开发包 V1.11.rar (91个子文件)
Beta_ImpactDLL V1.111
ImpactDLL演示例程
ImpactDLLDemo_VC
ImpactDllDemo.h 1KB
ImpactDllDemoDlg.cpp 16KB
Release
LoadDll.obj 8KB
StdAfx.obj 825B
ImpactDllDemo_VC.exe 36KB
ImpactDllDemo.pch 8.59MB
LoadDll.sbr 0B
ImpactDllDemo.bsc 4.15MB
ImpactDLL.dll 64KB
ImpactDllDemo.obj 12KB
ImpactDllDemoDlg.obj 41KB
vc60.idb 57KB
PrintSamples.sbr 0B
ImpactDllDemo.res 4KB
StdAfx.sbr 1.88MB
ImpactDllDemoDlg.sbr 0B
PrintSamples.obj 5KB
ImpactDllDemo.sbr 0B
ImpactDllDemo.dsw 549B
ImpactDllDemo.clw 2KB
res
ImpactDllDemo.ico 1KB
ImpactDllDemo.rc2 405B
Thumbs.db 4KB
Kitty.bmp 798B
ImpactDllDemo_VC.exe 36KB
ImpactDllDemo.cpp 2KB
ImpactDllDemo.opt 48KB
ImpactDLL.dll 64KB
ImpactDllDemo.dsp 4KB
ImpactDllDemo.rc 10KB
PrintSamples.cpp 5KB
ImpactDllDemo.ncb 169KB
LoadDll.h 5KB
LoadDll.cpp 6KB
StdAfx.cpp 215B
resource.h 2KB
ImpactDllDemo.aps 23KB
AntiRotateBmp
3.bmp 830B
1.bmp 830B
4.bmp 830B
2.bmp 830B
StdAfx.h 1KB
ImpactDllDemo.plg 772B
Look.bmp 798B
ImpactDllDemoDlg.h 2KB
PrintSamples.h 243B
ImpactDLLDemo_VB
MainForm.frm 39KB
POSdllDemo.vbw 86B
POSdllFuncs.bas 14KB
MainForm.frx 319B
Kitty.bmp 798B
ImpactDLL.dll 64KB
ImpactdllDemo.exe 56KB
POSdllDemo.vbp 1KB
MSSCCPRJ.SCC 494B
AntiRotateBmp
3.bmp 830B
1.bmp 830B
4.bmp 830B
2.bmp 830B
Thumbs.db 6KB
Look.bmp 798B
AntiRotateBmp
3.bmp 830B
1.bmp 830B
4.bmp 830B
2.bmp 830B
Thumbs.db 7KB
ImpactDLLDemo_Delphi
ImpactDllDemoForm.dfm 8KB
ImpactdllDemo.cfg 494B
Kitty.bmp 798B
ImpactdllDemo.identcache 249B
ImpactdllDemo.dpr 269B
ImpactDLL.dll 64KB
ImpactdllDemo.bdsproj.local 2KB
ImpactdllDemo.res 5KB
ImpactDllDemoForm.pas 21KB
ImpactdllDemo.exe 463KB
ImpactdllDemo.bdsproj 8KB
AntiRotateBmp
3.bmp 830B
1.bmp 830B
4.bmp 830B
2.bmp 830B
ImpactDLL.ilk 344KB
ImpactdllFuncs.pas 6KB
Look.bmp 798B
Kitty.bmp 798B
ImpactDllDemo_VC.exe 36KB
ImpactdllDemo_Delphi.exe 463KB
ImpactDLL.dll 64KB
ImpactDLL_API_CN.chm 71KB
ImpactdllDemo_VB.exe 56KB
Look.bmp 798B
共 91 条
- 1
资源评论
- dasjdka2019-07-10这是09年的东西,十年前的东西啊,太老了,现在都支持微软USB标准驱动。串口方式太老
kela20
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- database-project-massunaAi笔记
- 2%EF%BC%9A%E9%99%95%E8%A5%BF%E
- yyspdz62_944.apk
- SAP公司间采购EDI配置-如何触发自动MIRO.docx
- python197基于图像识别的仪表实时监控系统.rar
- python196基于循环神经网络的情感分类系统.rar
- I2C驱动SHT30温湿度传感器和LCD12864使用例程(RSCG12864B)
- python193中学地理-中国的江河湖泊教学网(django).rar
- python191基于时间序列分析的大气污染预测软件(django).rar
- python190基于人脸识别智能化小区门禁管理系统.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功