|
@@ -7,6 +7,7 @@ std::string CPipeClient::m_LastData;
|
|
|
PER_IO_CONTEXT CPipeClient::m_IoRead;
|
|
|
PER_IO_CONTEXT CPipeClient::m_IoWrite;
|
|
|
ThreadSection CPipeClient::m_cs;
|
|
|
+BOOL CPipeClient::m_bPipeConnectStatus=FALSE;
|
|
|
|
|
|
CPipeClient::CPipeClient(LPCTSTR lpPipeName, DWORD dwMode)
|
|
|
{
|
|
@@ -100,6 +101,7 @@ DWORD CPipeClient::ConnectThread(LPVOID lpParam)
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ m_bPipeConnectStatus = TRUE;
|
|
|
Sleep(1500);
|
|
|
#pragma region 向服务端发送消息:劫持状态+按钮状态;
|
|
|
{
|
|
@@ -157,7 +159,7 @@ DWORD CPipeClient::ReadMsgThread(LPVOID lpParam)
|
|
|
BOOL bSuccess = FALSE;
|
|
|
while(!pInstance->m_bClientStop)
|
|
|
{
|
|
|
- if ( pInstance->m_hPipeInst == INVALID_HANDLE_VALUE ) {
|
|
|
+ if ( pInstance->m_hPipeInst == INVALID_HANDLE_VALUE || !m_bPipeConnectStatus ) {
|
|
|
Sleep(5000);
|
|
|
continue;
|
|
|
}
|
|
@@ -179,6 +181,7 @@ DWORD CPipeClient::ReadMsgThread(LPVOID lpParam)
|
|
|
AutoThreadSection acs(&m_cs);
|
|
|
Utility::dprintf(_T("CloseHandle\n"));
|
|
|
CloseHandle(pInstance->m_hPipeInst);
|
|
|
+ m_bPipeConnectStatus = FALSE;
|
|
|
pInstance->m_hPipeInst = INVALID_HANDLE_VALUE;
|
|
|
}
|
|
|
else
|
|
@@ -438,6 +441,7 @@ void CPipeClient::HandleError(DWORD dwError)
|
|
|
{
|
|
|
AutoThreadSection acs(&m_cs);
|
|
|
CloseHandle(m_hPipeInst);
|
|
|
+ m_bPipeConnectStatus = FALSE;
|
|
|
m_hPipeInst = INVALID_HANDLE_VALUE;
|
|
|
Utility::dprintf(_T("HandleError:Error=%ld\n"), dwError);
|
|
|
}
|