15,471
社区成员
发帖
与我相关
我的任务
分享
while (!end_write_pipe)
{
if (!write_message.empty())
{
bSuccess = WriteFile(g_hChildStd_IN_Wr, ( char* )write_message.c_str(), write_message.length(), &dwWritten, &o);
}
else
{
Sleep(100);
}
}
while (!end_read_pipe)
{
bSuccess = ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, &o);
DWORD dwError = GetLastError();
if (!bSuccess && (dwError == ERROR_IO_PENDING))
{
WaitForSingleObject(g_hChildStd_OUT_Rd, INFINITE);
bSuccess = true;
}
if (bSuccess && write_message == "$gw")
{
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, 3);
w = atoi(str);
char str2[10] = {'\0'};
memcpy(str2, chBuf+6, 3);
h = atoi(str2);
if( ! bSuccess || dwRead == 0 ) break;
if (w == (int)time_total_ms)
{
ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, NULL);
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, 3);
w = atoi(str);
char str2[10] = {'\0'};
memcpy(str2, chBuf+6, 3);
h = atoi(str2);
if( ! bSuccess || dwRead == 0 ) break;
}
write_message.clear();
printf("width : %d, height : %d\n", w, h);
}
else if (bSuccess && write_message == "$gt")
{
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, i - 2);
time_total_ms = atof(str);
if (w == (int)time_total_ms)
{
ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, NULL);
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, i - 2);
time_total_ms = atof(str);
}
write_message.clear();
printf("time_total_ms is : %f\n", time_total_ms);
}
else
{
Sleep(100);
}
memset(chBuf, 0, strlen(chBuf));
}
while (!end_write_pipe)
{
if (!write_message.empty())
{
printf("i : %d\n", ++i);
bSuccess = WriteFile(g_hChildStd_IN_Wr, ( char* )write_message.c_str(), write_message.length(), &dwWritten, &o);
}
else
{
Sleep(100);
}
}
while (!end_read_pipe)
{
bSuccess = ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, &o);
DWORD dwError = GetLastError();
if (!bSuccess && (dwError == ERROR_IO_PENDING))
{
WaitForSingleObject(g_hChildStd_OUT_Rd, INFINITE);
bSuccess = true;
}
if (bSuccess && write_message == "$gw")
{
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, 3);
w = atoi(str);
char str2[10] = {'\0'};
memcpy(str2, chBuf+6, 3);
h = atoi(str2);
if( ! bSuccess || dwRead == 0 ) break;
// if (w == (int)time_total_ms)
// {
// ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, NULL);
// int i = strlen(chBuf);
// char str[10] = {'\0'};
// memcpy(str, chBuf+2, 3);
// w = atoi(str);
// char str2[10] = {'\0'};
// memcpy(str2, chBuf+6, 3);
// h = atoi(str2);
// if( ! bSuccess || dwRead == 0 ) break;
// }
write_message.clear();
printf("width : %d, height : %d\n", w, h);
}
else if (bSuccess && write_message == "$gt")
{
int i = strlen(chBuf);
char str[10] = {'\0'};
memcpy(str, chBuf+2, i - 2);
time_total_ms = atof(str);
// if (w == (int)time_total_ms)
// {
// ReadFile( g_hChildStd_OUT_Rd, chBuf, 90, &dwRead, NULL);
// int i = strlen(chBuf);
// char str[10] = {'\0'};
// memcpy(str, chBuf+2, i - 2);
// time_total_ms = atof(str);
// }
write_message.clear();
printf("time_total_ms is : %f\n", time_total_ms);
}
else
{
Sleep(100);
}
memset(chBuf, 0, strlen(chBuf));
}
while (!end_write_pipe)
{
if (!write_message.empty())
{
write_message += "\r\n";
bSuccess = WriteFile(g_hChildStd_IN_Wr, ( char* )write_message.c_str(), write_message.length(), &dwWritten, &o);
// DWORD dwError = GetLastError();
write_message.clear();
}
else
{
Sleep(100);
}
}