當我們要與稱打印機進行交互的時候這就需要 驅動
只有得到對應產品的驅動我們才有機會對其進行 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 口