Windows 提供 Fax Service Extended API (faxcomex.lib),支持發送、接收、監控傳真。MFC 中需引用 COM 組件 FaxComExLib。
IFaxServer::Connect(bstrServerName)。IFaxDocument::put_Body(bstrFilePath) 支持 TIFF、PDF、TXT。IFaxDocument::Recipients->Add(bstrFaxNumber, bstrName)。IFaxDocument::ConnectedSubmit(IFaxServer) 返回 IFaxJob 追蹤狀態。#import "faxcomex.tlb" no_namespace
void SendFax(CString strNumber, CString strFile) {
CoInitialize(NULL);
try {
IFaxServerPtr pServer(__uuidof(FaxServer));
pServer->Connect(_T("")); // 本機
IFaxDocumentPtr pDoc(__uuidof(FaxDocument));
pDoc->put_Body(_bstr_t(strFile));
IFaxRecipientsPtr pRecips = pDoc->Recipients;
pRecips->Add(_bstr_t(strNumber), _T("Recipient"));
IFaxJobPtr pJob = pDoc->ConnectedSubmit(pServer);
// 可輪詢 pJob->Status 獲取狀態
} catch (_com_error &e) {
AfxMessageBox(e.ErrorMessage());
}
CoUninitialize();
}
faxcomex.lib (或通過 #import 自動處理)。百度文檔詳細教程:MFC發傳真完整實現