void CShdrFileEchoView::EchoShdr(const TCHAR * msg) { CString s; if(!IsWindow()) return; CWindow wnd = GetDlgItem(IDC_ECHOEDIT); wnd.GetWindowText(s); CString m(msg); if(m[m.GetLength()-1]!='\n') m+="\r\n"; else m.Replace("\n","\r\n"); s=s+m; GetDlgItem(IDC_ECHOEDIT).SetWindowText(s); }
void OnTypeChanged(UINT uNotifyCode, int nID, CWindow wndCtl) { hal::win_c_str<std::wstring> str_buf(MAX_PATH); wndCtl.GetWindowText(str_buf, numeric_cast<int>(str_buf.size())); if (str_buf.str() == hal::app().res_wstr(HAL_NEWT_ADD_PEERS_WEB)) { ::EnableWindow(GetDlgItem(HAL_NEWT_ADD_DHT_PORT_TEXT), false); ::EnableWindow(GetDlgItem(HAL_NEWT_ADD_DHT_PORT), false); } else { ::EnableWindow(GetDlgItem(HAL_NEWT_ADD_DHT_PORT_TEXT), true); ::EnableWindow(GetDlgItem(HAL_NEWT_ADD_DHT_PORT), true); } }
/*** int GetText( CWindow srcwnd, char* dstptr, int maxleng ) { int textleng; textleng = srcwnd.GetWindowTextLength(); if( textleng == 0 ){ *dstptr = 0; return 0; } if( textleng >= maxleng ) return 1; srcwnd.GetWindowText( dstptr, textleng + 1 ); return 0; } ***/ int GetTextW( CWindow srcwnd, WCHAR* dstptr, int maxnum ) { int textleng; textleng = srcwnd.GetWindowTextLength(); if( textleng == 0 ){ *dstptr = 0; return 0; } if( textleng >= maxnum ) return 1; srcwnd.GetWindowText( dstptr, textleng + 1 ); return 0; }
void CRegisterTabs::RegisterChanged(HWND hDlg, TAB_ID srcTabId, WPARAM wParam) { if (g_Reg == NULL || !isStepping()) { return; } WORD ctrlId = LOWORD(wParam); CWindow editCtrl = ::GetDlgItem(hDlg, ctrlId); char text[20]; editCtrl.GetWindowText(text, 20); if (srcTabId == TabGPR) { uint64_t value = CEditReg64::ParseValue(text); if (ctrlId == IDC_HI_EDIT) { g_Reg->m_HI.UDW = value; } else if (ctrlId == IDC_LO_EDIT) { g_Reg->m_LO.UDW = value; } else { int nReg = GetCtrlRegNum(ctrlId, GPREditIds); g_Reg->m_GPR[nReg].UDW = value; } return; } uint32_t value = strtoul(text, NULL, 16); sprintf(text, "%08X", value); editCtrl.SetWindowText(text); // reformat text if (srcTabId == TabFPR) { if (ctrlId == IDC_FCSR_EDIT) { g_Reg->m_FPCR[31] = value; return; } int nReg = GetCtrlRegNum(ctrlId, FPREditIds); *(uint32_t*)g_Reg->m_FPR_S[nReg] = value; return; } switch (ctrlId) { case IDC_COP0_0_EDIT: g_Reg->INDEX_REGISTER = value; break; case IDC_COP0_1_EDIT: g_Reg->RANDOM_REGISTER = value; break; case IDC_COP0_2_EDIT: g_Reg->ENTRYLO0_REGISTER = value; break; case IDC_COP0_3_EDIT: g_Reg->ENTRYLO1_REGISTER = value; break; case IDC_COP0_4_EDIT: g_Reg->CONTEXT_REGISTER = value; break; case IDC_COP0_5_EDIT: g_Reg->PAGE_MASK_REGISTER = value; break; case IDC_COP0_6_EDIT: g_Reg->WIRED_REGISTER = value; break; case IDC_COP0_7_EDIT: g_Reg->BAD_VADDR_REGISTER = value; break; case IDC_COP0_8_EDIT: g_Reg->COUNT_REGISTER = value; break; case IDC_COP0_9_EDIT: g_Reg->ENTRYHI_REGISTER = value; break; case IDC_COP0_10_EDIT: g_Reg->COMPARE_REGISTER = value; break; case IDC_COP0_11_EDIT: g_Reg->STATUS_REGISTER = value; break; case IDC_COP0_12_EDIT: g_Reg->CAUSE_REGISTER = value; break; case IDC_COP0_13_EDIT: g_Reg->EPC_REGISTER = value; break; case IDC_COP0_14_EDIT: g_Reg->CONFIG_REGISTER = value; break; case IDC_COP0_15_EDIT: g_Reg->TAGLO_REGISTER = value; break; case IDC_COP0_16_EDIT: g_Reg->TAGHI_REGISTER = value; break; case IDC_COP0_17_EDIT: g_Reg->ERROREPC_REGISTER = value; break; case IDC_COP0_18_EDIT: g_Reg->FAKE_CAUSE_REGISTER = value; break; case IDC_RDRAM00_EDIT: g_Reg->RDRAM_CONFIG_REG = value; break; // or device_type case IDC_RDRAM04_EDIT: g_Reg->RDRAM_DEVICE_ID_REG = value; break; case IDC_RDRAM08_EDIT: g_Reg->RDRAM_DELAY_REG = value; break; case IDC_RDRAM0C_EDIT: g_Reg->RDRAM_MODE_REG = value; break; case IDC_RDRAM10_EDIT: g_Reg->RDRAM_REF_INTERVAL_REG = value; break; case IDC_RDRAM14_EDIT: g_Reg->RDRAM_REF_ROW_REG = value; break; case IDC_RDRAM18_EDIT: g_Reg->RDRAM_RAS_INTERVAL_REG = value; break; case IDC_RDRAM1C_EDIT: g_Reg->RDRAM_MIN_INTERVAL_REG = value; break; case IDC_RDRAM20_EDIT: g_Reg->RDRAM_ADDR_SELECT_REG = value; break; case IDC_RDRAM24_EDIT: g_Reg->RDRAM_DEVICE_MANUF_REG = value; break; case IDC_SP00_EDIT: g_Reg->SP_MEM_ADDR_REG = value; break; case IDC_SP04_EDIT: g_Reg->SP_DRAM_ADDR_REG = value; break; case IDC_SP08_EDIT: g_Reg->SP_RD_LEN_REG = value; break; case IDC_SP0C_EDIT: g_Reg->SP_WR_LEN_REG = value; break; case IDC_SP10_EDIT: g_Reg->SP_STATUS_REG = value; break; case IDC_SP14_EDIT: g_Reg->SP_DMA_FULL_REG = value; break; case IDC_SP18_EDIT: g_Reg->SP_DMA_BUSY_REG = value; break; case IDC_SP1C_EDIT: g_Reg->SP_SEMAPHORE_REG = value; break; case IDC_SP_PC_EDIT: g_Reg->SP_PC_REG = value; break; case IDC_DPC00_EDIT: g_Reg->DPC_START_REG = value; break; case IDC_DPC04_EDIT: g_Reg->DPC_END_REG = value; break; case IDC_DPC08_EDIT: g_Reg->DPC_CURRENT_REG = value; break; case IDC_DPC0C_EDIT: g_Reg->DPC_STATUS_REG = value; break; case IDC_DPC10_EDIT: g_Reg->DPC_CLOCK_REG = value; break; case IDC_DPC14_EDIT: g_Reg->DPC_BUFBUSY_REG = value; break; case IDC_DPC18_EDIT: g_Reg->DPC_PIPEBUSY_REG = value; break; case IDC_DPC1C_EDIT: g_Reg->DPC_TMEM_REG = value; break; case IDC_MI00_EDIT: g_Reg->MI_INIT_MODE_REG = value; break; // or MI_MODE ? case IDC_MI04_EDIT: g_Reg->MI_VERSION_REG = value; break; // or MI_NOOP ? case IDC_MI08_EDIT: g_Reg->MI_INTR_REG = value; break; // or MI_INTR ? case IDC_MI0C_EDIT: g_Reg->MI_INTR_MASK_REG = value; break; // or MI_INTR_MASK ? case IDC_VI00_EDIT: g_Reg->VI_STATUS_REG = value; break; case IDC_VI04_EDIT: g_Reg->VI_ORIGIN_REG = value; break; case IDC_VI08_EDIT: g_Reg->VI_WIDTH_REG = value; break; case IDC_VI0C_EDIT: g_Reg->VI_INTR_REG = value; break; case IDC_VI10_EDIT: g_Reg->VI_CURRENT_REG = value; break; case IDC_VI14_EDIT: g_Reg->VI_BURST_REG = value; break; case IDC_VI18_EDIT: g_Reg->VI_V_SYNC_REG = value; break; case IDC_VI1C_EDIT: g_Reg->VI_H_SYNC_REG = value; break; case IDC_VI20_EDIT: g_Reg->VI_LEAP_REG = value; break; case IDC_VI24_EDIT: g_Reg->VI_H_START_REG = value; break; case IDC_VI28_EDIT: g_Reg->VI_V_START_REG = value; break; case IDC_VI2C_EDIT: g_Reg->VI_V_BURST_REG = value; break; case IDC_VI30_EDIT: g_Reg->VI_X_SCALE_REG = value; break; case IDC_VI34_EDIT: g_Reg->VI_Y_SCALE_REG = value; break; case IDC_AI00_EDIT: g_Reg->AI_DRAM_ADDR_REG = value; break; case IDC_AI04_EDIT: g_Reg->AI_LEN_REG = value; break; case IDC_AI08_EDIT: g_Reg->AI_CONTROL_REG = value; break; case IDC_AI0C_EDIT: g_Reg->AI_STATUS_REG = value; break; case IDC_AI10_EDIT: g_Reg->AI_DACRATE_REG = value; break; case IDC_AI14_EDIT: g_Reg->AI_BITRATE_REG = value; break; case IDC_PI00_EDIT: g_Reg->PI_DRAM_ADDR_REG = value; break; case IDC_PI04_EDIT: g_Reg->PI_CART_ADDR_REG = value; break; case IDC_PI08_EDIT: g_Reg->PI_RD_LEN_REG = value; break; case IDC_PI0C_EDIT: g_Reg->PI_WR_LEN_REG = value; break; case IDC_PI10_EDIT: g_Reg->PI_STATUS_REG = value; break; case IDC_PI14_EDIT: g_Reg->PI_BSD_DOM1_LAT_REG = value; break; case IDC_PI18_EDIT: g_Reg->PI_BSD_DOM1_PWD_REG = value; break; case IDC_PI1C_EDIT: g_Reg->PI_BSD_DOM1_PGS_REG = value; break; case IDC_PI20_EDIT: g_Reg->PI_BSD_DOM1_RLS_REG = value; break; case IDC_PI24_EDIT: g_Reg->PI_BSD_DOM2_LAT_REG = value; break; case IDC_PI28_EDIT: g_Reg->PI_BSD_DOM2_PWD_REG = value; break; case IDC_PI2C_EDIT: g_Reg->PI_BSD_DOM2_PGS_REG = value; break; case IDC_PI30_EDIT: g_Reg->PI_BSD_DOM2_RLS_REG = value; break; case IDC_RI00_EDIT: g_Reg->RI_MODE_REG = value; break; case IDC_RI04_EDIT: g_Reg->RI_CONFIG_REG = value; break; case IDC_RI08_EDIT: g_Reg->RI_CURRENT_LOAD_REG = value; break; case IDC_RI0C_EDIT: g_Reg->RI_SELECT_REG = value; break; case IDC_RI10_EDIT: g_Reg->RI_REFRESH_REG = value; break; case IDC_RI14_EDIT: g_Reg->RI_LATENCY_REG = value; break; case IDC_RI18_EDIT: g_Reg->RI_RERROR_REG = value; break; case IDC_RI1C_EDIT: g_Reg->RI_WERROR_REG = value; break; case IDC_SI00_EDIT: g_Reg->SI_DRAM_ADDR_REG = value; break; case IDC_SI04_EDIT: g_Reg->SI_PIF_ADDR_RD64B_REG = value; break; case IDC_SI08_EDIT: g_Reg->SI_PIF_ADDR_WR64B_REG = value; break; case IDC_SI0C_EDIT: g_Reg->SI_STATUS_REG = value; break; case IDC_DD00_EDIT: g_Reg->ASIC_DATA = value; break; case IDC_DD04_EDIT: g_Reg->ASIC_MISC_REG = value; break; case IDC_DD08_EDIT: g_Reg->ASIC_STATUS = value; break; case IDC_DD0C_EDIT: g_Reg->ASIC_CUR_TK = value; break; case IDC_DD10_EDIT: g_Reg->ASIC_BM_STATUS = value; break; case IDC_DD14_EDIT: g_Reg->ASIC_ERR_SECTOR = value; break; case IDC_DD18_EDIT: g_Reg->ASIC_SEQ_STATUS = value; break; case IDC_DD1C_EDIT: g_Reg->ASIC_CUR_SECTOR = value; break; case IDC_DD20_EDIT: g_Reg->ASIC_HARD_RESET = value; break; case IDC_DD24_EDIT: g_Reg->ASIC_C1_S0 = value; break; case IDC_DD28_EDIT: g_Reg->ASIC_HOST_SECBYTE = value; break; case IDC_DD2C_EDIT: g_Reg->ASIC_C1_S2 = value; break; case IDC_DD30_EDIT: g_Reg->ASIC_SEC_BYTE = value; break; case IDC_DD34_EDIT: g_Reg->ASIC_C1_S4 = value; break; case IDC_DD38_EDIT: g_Reg->ASIC_C1_S6 = value; break; case IDC_DD3C_EDIT: g_Reg->ASIC_CUR_ADDR = value; break; case IDC_DD40_EDIT: g_Reg->ASIC_ID_REG = value; break; case IDC_DD44_EDIT: g_Reg->ASIC_TEST_REG = value; break; case IDC_DD48_EDIT: g_Reg->ASIC_TEST_PIN_SEL = value; break; } }
LRESULT CMainDlg::OnBnClickedAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { CWindow wndUrl = GetDlgItem(IDC_EDIT_URL); wndUrl.GetWindowText(strUrl); BOOL bDone = FALSE; HINTERNET hSession = NULL; HINTERNET hConnect = NULL; HINTERNET hRequest = NULL; do { std::wstring strUserAgentW= _T("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"); hSession = ::InternetOpen(strUserAgentW.c_str(), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if (hSession) { TCHAR szDomain[MAX_PATH]; INTERNET_PORT nServerPort = 0; if (!GetDomainAndPortFromUrl(strUrl, szDomain, nServerPort)) { bDone = FALSE; break; } hConnect = InternetConnect(hSession, szDomain, nServerPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); if (hConnect) { DWORD dwOpenRequestFlags = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_NO_UI | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_IGNORE_CERT_CN_INVALID| INTERNET_FLAG_IGNORE_CERT_DATE_INVALID; if (nServerPort == INTERNET_DEFAULT_HTTPS_PORT) { dwOpenRequestFlags |= INTERNET_FLAG_SECURE; } int nPos = strUrl.Find(szDomain, 0); strUrl = strUrl.Right(strUrl.GetLength() - nPos - wcslen(szDomain)); hRequest = HttpOpenRequest(hConnect, NULL, strUrl, NULL, NULL, NULL, dwOpenRequestFlags, 0); LPCTSTR strContentType = L"Accept-Language:zh-CN"; CString strHeader(strContentType); //strHeader.Format(strContentType, m_strCookies); HttpAddRequestHeaders(hRequest, strHeader, strHeader.GetLength(), HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE); if (hRequest) { BOOL bResult = HttpSendRequest(hRequest, NULL, 0, NULL, 0); if ( ! bResult && GetLastError() == ERROR_INTERNET_INVALID_CA ) { DWORD dwFlags; DWORD dwBuffLen = sizeof(dwFlags); InternetQueryOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS, (LPVOID)&dwFlags, &dwBuffLen); dwFlags |= SECURITY_FLAG_IGNORE_UNKNOWN_CA; InternetSetOption (hRequest, INTERNET_OPTION_SECURITY_FLAGS, &dwFlags, sizeof (dwFlags) ); bResult = HttpSendRequest(hRequest, NULL, 0, NULL, 0); } if (bResult) { DWORD dwRetCode = 0; WCHAR szRetCode[64] = {0}; DWORD dwSize = 64; DWORD dwIndex = 0; ::HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE ,&szRetCode, &dwSize, &dwIndex); dwRetCode = _tstol(szRetCode); if (dwRetCode < HTTP_STATUS_BAD_REQUEST ) { //获取文件名称 TCHAR szContentDisposition[512] = {0}; DWORD dwContentDispositionSize = 512; dwIndex = 0; if (::HttpQueryInfo(hRequest, HTTP_QUERY_CONTENT_DISPOSITION, szContentDisposition, &dwContentDispositionSize, &dwIndex)) { //attachment; filename="a_log.zip" CString strDisposistion = szContentDisposition; GetDlgItem(IDC_EDIT_FILENAME).SetWindowText(strDisposistion); bDone = TRUE; } } else { bDone = FALSE; break; } } } else { bDone =FALSE; break; } } else { bDone = FALSE; break; } } } while (0); if (hRequest) { ::InternetCloseHandle(hRequest); } if (hConnect) { ::InternetCloseHandle(hConnect); } if (hSession) { ::InternetCloseHandle(hSession); } return 0; }