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);
		}		
	}		
Beispiel #3
0
/***
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;
    }
}
Beispiel #5
0
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;
}