3,248
社区成员
发帖
与我相关
我的任务
分享ComHandle=CreateFile(Port,
GENERIC_READ||GENERIC_WRITE,
0,NULL,OPEN_EXISTING,NULL,NULL);
if(ComHandle==INVALID_HANDLE_VALUE){MessageBox("1"); return 0;}
char tmpP[11]="9600,n,8,1";//设置通讯参数
DCB dcb;
if(GetCommState(ComHandle,&dcb)==0){MessageBox("2");return -1;}
if(BuildCommDCB(tmpP,&dcb)==0){MessageBox("3");return -1;}
if(SetCommState(ComHandle,&dcb)==0){MessageBox("4");return -1;}
COMMTIMEOUTS TimeOuts;//设置超时时间
GetCommTimeouts(ComHandle,&TimeOuts);
TimeOuts.ReadIntervalTimeout=2000;
TimeOuts.ReadTotalTimeoutConstant=400;
TimeOuts.ReadTotalTimeoutMultiplier=400;
TimeOuts.WriteTotalTimeoutMultiplier=40;
TimeOuts.WriteTotalTimeoutConstant=400;
if(SetCommTimeouts(ComHandle,&TimeOuts)==0){MessageBox("6");return -2;}
if(SetupComm(ComHandle,2048,1024)==0){MessageBox("7");return -3;}//设置缓冲区
//PurgeComm(ComHandle,PURGE_RXABORT||PURGE_RXCLEAR);
//PurgeComm(ComHandle,PURGE_TXABORT||PURGE_TXCLEAR);
if(ComHandle<0){MessageBox("111");return 111;}
BYTE m_SendBuffer[1];
DWORD m_Number;
m_SendBuffer[0]=0x06;
if(WriteFile(ComHandle, m_SendBuffer, 1 , &m_Number,NULL)==0)
{
DWORD ErrorCode;
ErrorCode=GetLastError();
char temp[5];
sprintf(temp,"%d",ErrorCode);
MessageBox(temp);
MessageBox("here!");
return -5;
}
CloseHandle(ComHandle);
// Write();
MessageBox(Port);
return 0;
BOOL NSys::EnablePrivilege(TCHAR * name, BOOL fEnable, HANDLE hToken)
{
BOOL bRetVal;
int nError;
HANDLE hNewToken = NULL;
TOKEN_PRIVILEGES priv = { 1, {0, 0, fEnable ? SE_PRIVILEGE_ENABLED : 0} };
LookupPrivilegeValue(0, name, &priv.Privileges[0].Luid);
if(hToken == NULL)
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hNewToken);
else
hNewToken = hToken;
bRetVal = AdjustTokenPrivileges(hNewToken, FALSE, &priv, sizeof(priv), 0, 0);
if(bRetVal == FALSE)
{
nError = ::GetLastError();
if(hToken == NULL)
CloseHandle(hNewToken);
::SetLastError(nError);
return FALSE;
}
if(hToken == NULL)
CloseHandle(hNewToken);
return TRUE;
}