有谁用VC编写过串口打印机程序,最好有源码,请教高手,谢了

解决方案 »

  1.   

    复制上去,再定义一些变量,就好了。void OpenCom(void)
    {
    HRESULT fSuccess;
    hCom=CreateFile(portcom,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
    if(hCom==INVALID_HANDLE_VALUE)
    {
    MessageBox(NULL,"SetCommTimeout error","Error",MB_OK);
    dwError=GetLastError();
    }
    //超时设置
    GetCommTimeouts(hCom,&cto);
    cto.ReadIntervalTimeout=0;
    cto.ReadTotalTimeoutConstant=20;
    cto.ReadTotalTimeoutMultiplier=20;
    cto.WriteTotalTimeoutConstant=0;
    cto.WriteTotalTimeoutMultiplier=0;
    SetCommTimeouts(hCom,&cto);     FillMemory(&dcb,sizeof(dcb),0);
    dcb.DCBlength=sizeof(dcb);
    fSuccess=GetCommState(hCom,&dcb);

    dcb.BaudRate=pt;//CBR_9600;
    dcb.Parity=NOPARITY;
    dcb.ByteSize=sj;
    dcb.StopBits=(tz-1);//ONESTOPBIT;
    dcb.fDtrControl=DTR_CONTROL_ENABLE;
    dcb.wReserved=0;
    fSuccess=SetCommState(hCom,&dcb);
    }
    如chfonts=“printer\n”;
    WriteFile(hCom,chfonts,(sizeof(chfonts)-1),&dwBytesWritten,NULL);
    用了就关上CloseHandle(hCom);