资源简介
C++写的COM DLL文件,可用VB,VC引用.

代码片段和文件信息
#include
#include
#include
#define FC_DTRDSR 0x01
#define FC_RTSCTS 0x02
#define FC_XONXOFF 0x04
#define ASCII_BEL 0x07
#define ASCII_BS 0x08
#define ASCII_LF 0x0A
#define ASCII_CR 0x0D
#define ASCII_XON 0x11
#define ASCII_XOFF 0x13
//*************************** Open COM & Initial COM *****************************
HANDLE _stdcall OpenCom( DWORD nPort DWORD nBaud )
{
HANDLE m_hIDComDev;
OVERLAPPED m_OverlappedReadm_OverlappedWrite;
char szPort[15];
char szComParams[50];
DCB dcb;
m_hIDComDev = NULL;
if(nPort>8)
return NULL;
wsprintf(szPort “COM%d“ nPort);
m_hIDComDev = CreateFile( szPort
GENERIC_READ | GENERIC_WRITE
0
NULL
OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED
NULL );
if( m_hIDComDev == NULL )
return NULL;
memset(&m_OverlappedRead 0 sizeof( OVERLAPPED) );
memset(&m_OverlappedWrite 0 sizeof(OVERLAPPED) );
COMMTIMEOUTS CommTimeOuts;
CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
CommTimeOuts.WriteTotalTimeoutConstant = 5000;
SetCommTimeouts( m_hIDComDev &CommTimeOuts );
wsprintf( szComParams “COM%d:%dn81“ nPort nBaud );
m_OverlappedRead.hEvent = CreateEvent( NULL TRUE FALSE NULL );
m_OverlappedWrite.hEvent = CreateEvent( NULL TRUE FALSE NULL );
dcb.DCBlength = sizeof( DCB );
GetCommState( m_hIDComDev &dcb );
dcb.BaudRate = nBaud;
dcb.ByteSize = 8;
unsigned char ucSet;
ucSet = (unsigned char) ( ( FC_RTSCTS & FC_DTRDSR ) != 0 );
ucSet = (unsigned char) ( ( FC_RTSCTS & FC_RTSCTS ) != 0 );
ucSet = (unsigned char) ( ( FC_RTSCTS & FC_XONXOFF ) != 0 );
if( !SetCommState( m_hIDComDev &dcb ) ||
!SetupComm( m_hIDComDev 10000 10000 ) ||
m_OverlappedRead.hEvent == NULL ||
m_OverlappedWrite.hEvent == NULL )
{
DWORD dwError = GetLastError();
if( m_OverlappedRead.hEvent != NULL )
CloseHandle( m_OverlappedRead.hEvent );
if( m_OverlappedWrite.hEvent != NULL )
CloseHandle( m_OverlappedWrite.hEvent );
CloseHandle( m_hIDComDev );
return NULL;
}
return m_hIDComDev;
}
//*****
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 208970 2008-10-24 10:11 COM\Debug\SerialCom.dll
文件 1401 2008-10-24 09:22 COM\Debug\SerialCom.exp
文件 286352 2008-10-24 10:11 COM\Debug\SerialCom.ilk
文件 3450 2008-10-24 09:22 COM\Debug\SerialCom.lib
文件 26285 2008-10-24 10:11 COM\Debug\SerialCom.obj
文件 3569976 2008-10-23 08:43 COM\Debug\SerialCom.pch
文件 648192 2008-10-24 10:11 COM\Debug\SerialCom.pdb
文件 148480 2009-03-17 10:28 COM\Debug\vc60.idb
文件 77824 2008-10-24 10:11 COM\Debug\vc60.pdb
文件 12867 2008-10-24 10:11 COM\SerialCom.cpp
文件 131 2008-10-23 16:51 COM\SerialCom.def
文件 4155 2008-10-22 11:16 COM\SerialCom.dsp
文件 543 2008-10-22 09:58 COM\SerialCom.dsw
文件 1173 2008-10-22 11:13 COM\SerialCom.h
文件 50176 2009-03-17 10:29 COM\SerialCom.ncb
文件 53760 2009-03-17 10:29 COM\SerialCom.opt
文件 252 2008-10-29 17:31 COM\SerialCom.plg
目录 0 2008-10-29 17:31 COM\Debug
目录 0 2009-03-17 10:29 COM
----------- --------- ---------- ----- ----
5093987 19
相关资源
- VC6LineNumberAddin.dll
- com组件(共907页)
- dll依赖文件检测工具
- MX Component V4编程手册
- delphi调用结巴分词DLL接口
- c++调用C# COM 参数是结构体数组
- C++17 The Complete Guide
- 大智慧365DLL插件设计
- OpenCV Computer Vision Application Programming
- VC++中实现复选下拉框CCheckComboBox
- COM本质论.pdf )
- c++ 源码通过dll启动应用程序exe
- SpiderMonkey1.61.7 编译文件全部libdllh文件
- 03 C#与C++dll互相传递字符串.rar
- 基于TCP协议的C/S传输文件C++)
- Labview调用C++ dll之字符串数组传递
- 完整版sqlite运行所需Vc++运行环境,纯
- VC++ MFC 串口通信20个经典源码合集
- mfc42d.dll 【万能,适用于32位,64位】
- CommBox通讯调试工具V1.261
- Diab C/C++ Compiler for PowerPC
- 使用itextsharp.dll把两个pdf文件合并成一
- MFC DLL调用(包含调用和DLL自身源代码
- 基于C++的虚拟串口通讯
- Matcom和VC混合编程
- VC++2010下使用Tesseract需添加的dll
- mfc120d.dll 資源下載
- matcom4.5绿色破解版
- Microsoft Visual C++ 2013 Redistributable (x
- VC6通过dll读写excel文件,不需要安装
评论
共有 条评论