当我们要与称打印机进行交互的时候这就需要 驱动
只有得到对应产品的驱动我们才有机会对其进行 com 口编程
首先我们就需要一个小工具来进行测试
获取对应的com 口,观察数据传输方式
链接地址:
链接:https://pan.baidu.com/s/1MsTZqrSDM4cRCE6sQiC58g
提取码:5fd5
简单了解一下COM 口编程
com (Component Object Model) 组件队形模型 :一种跨应用和语言共享二进制的方法。
在windows 在中使用 DLLS 在二进制共享代码,这也是windows 运行的机制。
编程步骤:
初始化 COM 库;
创建一个用于建立快捷方式的COM 对象并取得IShellLink 接口;
调用IShellLink 接口的SetPath()方法;
调用对象的QueryInterface()函数并取得IPersistFile接口;
调用IPersistFile 接口的Save()方法;
释放接口;
收回COM库;
CString sWallpaper = wszWallpaper;
//将墙纸路径转换为ANSII
ShellLink* pISL;
IPersistFile* pIPF;
// 1. 初始化COM库(让Windows 加载DLLs). 通常在InitInstance()中调用
// CoInitialize ( NULL )或其它启动代码。MFC 程序使用AfxOleInit() 。
CoInitialize ( NULL );
//2. 使用外壳提供的Shell Link组件对象类创建COM对象。.
// 第四个参数通知COM 需要什么接口(这里是IShellLink)。
hr = CoCreateInstance ( CLSID_ShellLink,
NULL,
CLSCTX_INPROC_SERVER,
IID_IShellLink,
(void**) &pISL );
if ( SUCCEEDED(hr) )
{
// 3. 设置快捷方式目标(墙纸文件)的路径。
hr = pISL->SetPath ( sWallpaper );
if ( SUCCEEDED(hr) )
{
// 4. 获取这个对象的第二个接口(IPersistFile)。
hr = pISL->QueryInterface ( IID_IPersistFile, (void**) &pIPF );
if ( SUCCEEDED(hr) )
{
// 5. 调用Save() 方法保存某个文件得快捷方式。第一个参数是
// Unicode 串。
hr = pIPF->Save ( L"C:\\wallpaper.lnk", FALSE );
// 6a. 释放IPersistFile 接口。
pIPF->Release();
}
}
// 6. 释放IShellLink 接口。
pISL->Release();
}
// 输出错误信息部分这里省略。
// 7. 收回COM 库。MFC 程序不用这一步,它自动完成。
CoUninitialize();
通过HRESULT 来对错误进行简单处理
HRESULT是个32位符号整数,其非负值表示成功,负值表示失败。
HRESULT有三个域:程度位(表示成功或失败),功能码和状态码。
首先我们要
在设备和打印机中找到连接的东西
在设备管理器中找到对应的 com 口