INT_PTR CEHelpPopup::helpProc(HWND hWnd2, UINT messg, WPARAM wParam, LPARAM lParam) { CEHelpPopup* pPopup = NULL; switch (messg) { case WM_INITDIALOG: { pPopup = (CEHelpPopup*)lParam; SetWindowLongPtr(hWnd2, DWLP_USER, (LONG_PTR)pPopup); pPopup->mh_Popup = hWnd2; if (pPopup->mp_DpiAware) pPopup->mp_DpiAware->Attach(hWnd2, ghOpWnd, pPopup->mp_Dlg); helpProc(hWnd2, WM_SIZE, 0, 0); break; } case WM_SIZE: { RECT rcClient; GetClientRect(hWnd2, &rcClient); MoveWindowRect(GetDlgItem(hWnd2, IDC_HELP_DESCR), rcClient, TRUE); break; } case WM_COMMAND: if (HIWORD(wParam) == BN_CLICKED) { switch (LOWORD(wParam)) { case IDCLOSE: case IDCANCEL: DestroyWindow(hWnd2); return 0; default: return 0; } } break; case WM_CLOSE: DestroyWindow(hWnd2); break; case WM_DESTROY: { pPopup = (CEHelpPopup*)GetWindowLongPtr(hWnd2, DWLP_USER); if (pPopup) { if (pPopup->mp_DpiAware) pPopup->mp_DpiAware->Detach(); pPopup->mh_Popup = NULL; SafeDelete(pPopup->mp_Dlg); } break; } default: if (pPopup && pPopup->mp_DpiAware && pPopup->mp_DpiAware->ProcessDpiMessages(hWnd2, messg, wParam, lParam)) { return TRUE; } } return 0; }
int main(void) { char delim[] = " \t"; char inbuf[MAX_BUFFER]; char **chargv; ServerID_t serverID; ACSHandle_t acsHandle; int i, numtokens; char *chInput; char *chargv0; //DJ_U8 g_u8UnitID = 255; int row, col; int curRow, curCol; char *chargv1; char *chargv2; initCursel(&row, &col); printstr(NULL, "This is a monitor tool to SS7\n"); printstr(NULL, "press q or ctrl+c exit programmer\n"); printstr(NULL, "Input service IP and port(q exit, h help):\n"); for (; ;) { getyx(stdscr, curRow, curCol); if (curRow == row -1) clear(); getstr(inbuf); if (ldebug_flag) printstr(NULL,"inbuf:%s\n", inbuf); chInput = strlwr(inbuf); if (strcmp(chInput, QUIT_STRING) == 0) { exitwin(); return 0; } else if(strcmp(chInput, HELP_STRING) == 0) { helpProc(); } else { if ((numtokens = makeargv(inbuf, delim, &chargv)) >= 4) { if (ldebug_flag) { for (i = 0; i < numtokens; i++) printstr(NULL,"%d:%s\n", i, chargv[i]); } chargv1 = strlwr(chargv[0]); chargv2 = strlwr(chargv[2]); if ((strcmp(chargv1, "ip") == 0) && (strcmp(chargv[1], "\0") != 0)) { strncpy(serverID.m_s8ServerIp, chargv[1], sizeof(serverID.m_s8ServerIp)); if ((strcmp(chargv2, "port") == 0)&& (strcmp(chargv[3], "\0") != 0)) { serverID.m_u32ServerPort = atoi(chargv[3]); if (initsystem(serverID, &acsHandle) >= 0) { getyx(stdscr, curRow, curCol); mvprintw(curRow, 0,"Service has been monitored\n"); usleep(500); break; } else printstr(NULL,"Please check IP and Port, and please input again(q exit, h help)\n"); } else { printstr(NULL,"Input Port error, please input again(q exit, h help)\n"); } } else { printstr(NULL,"Input IP error,please input again(q exit, h help)\n"); } } else { printstr(NULL,"Input IP and Port has been omittem,please input again(q exit, h help)\n"); } } } for(; ;) { getyx(stdscr, curRow, curCol); if (curRow == row -1) clear(); getstr(inbuf); chInput = strlwr(inbuf); if (ldebug_flag) printstr(NULL,"inbuf:%s\n", chInput); if (strcmp(chInput, QUIT_STRING) == 0) { exitsystem(acsHandle); exitwin(); exit(0); } else if(strcmp(chInput, HELP_STRING) == 0) { helpProc(); } else { if ((numtokens = makeargv(inbuf, delim, &chargv)) > 0) { chargv0 = strlwr(chargv[0]); if (strcmp(chargv0, "monitor") == 0) { if (ldebug_flag) printstr(NULL,"monitor paramiter number is %d\n", numtokens); monitorProc(chargv, acsHandle, numtokens); printstr(NULL,"Input command again if operator(q exit, h help)\n"); } else if(strcmp(chargv0, "maintain") == 0) { maintainProc(chargv, acsHandle, numtokens); printstr(NULL,"Input command again if operator(q exit, h help)\n");; } else { printstr(NULL,"Input command error, please input again(q exit, h help)\n"); } } free(chargv); } usleep(30); } exitwin(); return 0; }