backstage背包:我编写了一个简单的串口程序(vc++).运行时弹出一个"the device is not open"的对话框,我该怎样改?谢谢!

来源:百度文库 编辑:高考问答 时间:2024/04/26 09:38:10
我所编写的代码为:
BOOL CAWangDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) ==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
if(m_ctrlComm.GetCommPort())
m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(1);
if(!m_ctrlComm.GetCommPort())
m_ctrlComm.SetPortOpen(TRUE);
else
AfxMessageBox("Can't open serial port!");
m_ctrlComm.SetSettings("9600,n,8,1");
m_ctrlComm.SetRThreshold(1);
m_ctrlComm.SetInputMode(1);
m_ctrlComm.SetInputLen(0);
m_ctrlComm.GetInput();
return TRUE;
}
麻烦大虾帮我看看

你的代码呢?
hPort = CreateFile(
TEXT ("COM1"),
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (hPort!=INVALID_HANDLE_VALUE)
//成功