⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customerservice.cpp

📁 windows mobile 中国移动定制程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
											if (i != 0)
											{
												WriteSetUpToRegister(L"Busy",1 );
											}
											else
											{
												WriteSetUpToRegister(L"Busy",0 );
											}
											i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKNOANSWER, BM_GETCHECK, 0, 0);
											if (i != 0)
											{
												WriteSetUpToRegister(L"NoAnswer",1 );
											}
											else
											{
												WriteSetUpToRegister(L"NoAnswer",0 );
											}
											i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKALL, BM_GETCHECK, 0, 0);
											if (i != 0)
											{
												WriteSetUpToRegister(L"All",1 );
											}
											else
											{
												WriteSetUpToRegister(L"All",0 );
											}
											ShowCursor(FALSE);
											SetCursor(hOldCursor);
											MessageBox (hDlgSetUp, TEXT("呼转短信设置成功!"), TEXT("提示:"), MB_OK );
											RIL_Deinitialize(hRil);
											hRil = NULL;
											SetWindowText(  GetParent(hDlg), L"移动秘书" );
											 CommandBar_Destroy(g_DialogMenuBar);
											EndDialog(hDlg, message);
											SendMessage(GetParent(hDlg),WM_CLOSE,0,0);
										}
										else
										{
											ShowCursor(FALSE);
											SetCursor(hOldCursor);
											MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("提示:"), MB_OK );
											RIL_Deinitialize(hRil);
											hRil = NULL;
										}

								}
							  }
							else
							{
								if (lstrlen(szOutNumber) < 2)
								 {
									DialogBox(g_hInst, (LPCTSTR)IDD_POCKETPC_NUMBER, hDlg, hNumber);
										if (gSetUpTelephone)
										{
												WaitForSingleObject(g_hEvent,INFINITE);
												if (gFlag)
												{
													i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKINVALIDATION, BM_GETCHECK, 0, 0);
													if (i != 0)
													{
														WriteSetUpToRegister(L"Invalidation",1 );
													}
													else
													{
														WriteSetUpToRegister(L"Invalidation",0 );
													}
													i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKBUSY, BM_GETCHECK, 0, 0);
													if (i != 0)
													{
														WriteSetUpToRegister(L"Busy",1 );
													}
													else
													{
														WriteSetUpToRegister(L"Busy",0 );
													}
													i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKNOANSWER, BM_GETCHECK, 0, 0);
													if (i != 0)
													{
														WriteSetUpToRegister(L"NoAnswer",1 );
													}
													else
													{
														WriteSetUpToRegister(L"NoAnswer",0 );
													}
													i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKALL, BM_GETCHECK, 0, 0);
													if (i != 0)
													{
														WriteSetUpToRegister(L"All",1 );
													}
													else
													{
														WriteSetUpToRegister(L"All",0 );
													}
													ShowCursor(FALSE);
													SetCursor(hOldCursor);
													MessageBox (hDlgSetUp, TEXT("呼转短信设置成功!"), TEXT("提示:"), MB_OK );
													RIL_Deinitialize(hRil);
													hRil = NULL;
													SetWindowText(  GetParent(hDlg), L"移动秘书" );
													 CommandBar_Destroy(g_DialogMenuBar);
													EndDialog(hDlg, message);
													SendMessage(GetParent(hDlg),WM_CLOSE,0,0);
												}
												else
												{
													ShowCursor(FALSE);
													SetCursor(hOldCursor);
													MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("提示:"), MB_OK );
													RIL_Deinitialize(hRil);
													hRil = NULL;
												}

										}
								  }
							}
						}
						else
						{
							lstrcat(szOutNumber,szOutTelephone);
							CallForward(szOutNumber);
							WaitForSingleObject(g_hEvent,INFINITE);
							if (gFlag)
							{
								i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKINVALIDATION, BM_GETCHECK, 0, 0);
								if (i != 0)
								{
									WriteSetUpToRegister(L"Invalidation",1 );
								}
								else
								{
									WriteSetUpToRegister(L"Invalidation",0 );
								}
								i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKBUSY, BM_GETCHECK, 0, 0);
								if (i != 0)
								{
									WriteSetUpToRegister(L"Busy",1 );
								}
								else
								{
									WriteSetUpToRegister(L"Busy",0 );
								}
								i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKNOANSWER, BM_GETCHECK, 0, 0);
								if (i != 0)
								{
									WriteSetUpToRegister(L"NoAnswer",1 );
								}
								else
								{
									WriteSetUpToRegister(L"NoAnswer",0 );
								}
								i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKALL, BM_GETCHECK, 0, 0);
								if (i != 0)
								{
									WriteSetUpToRegister(L"All",1 );
								}
								else
								{
									WriteSetUpToRegister(L"All",0 );
								}
								ShowCursor(FALSE);
								SetCursor(hOldCursor);
								MessageBox (hDlgSetUp, TEXT("呼转短信设置成功!"), TEXT("提示:"), MB_OK );
								RIL_Deinitialize(hRil);
								hRil = NULL;
								SetWindowText(  GetParent(hDlg), L"移动秘书" );
								 CommandBar_Destroy(g_DialogMenuBar);
								EndDialog(hDlg, message);
								SendMessage(GetParent(hDlg),WM_CLOSE,0,0);
							}
							else
							{
								ShowCursor(FALSE);
								SetCursor(hOldCursor);
								MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("提示:"), MB_OK );
								RIL_Deinitialize(hRil);
								hRil = NULL;
							}
						}			
						return TRUE;
			 }
            break;
		
        case WM_CLOSE:
			ShowCursor(FALSE);
			SetCursor(hOldCursor);
			SetWindowText(  GetParent(hDlg), L"移动秘书" );
			 CommandBar_Destroy(g_DialogMenuBar);
            EndDialog(hDlg, message);
            return TRUE;
#ifdef _DEVICE_RESOLUTION_AWARE
        case WM_SIZE:
            {
		DRA::RelayoutDialog(
			g_hInst, 
			hDlg, 
			DRA::GetDisplayMode() != DRA::Portrait ? MAKEINTRESOURCE(IDD_POCKETPC_TRADEANDTOURW) : MAKEINTRESOURCE(IDD_POCKETPC_TRADEANDTOUR));
            }
            break;
#endif
    }
    return (INT_PTR)FALSE;
}


void CALLBACK CFRILResult(
    DWORD       dwCode,  // result code
    HRESULT     hrCmdID, // Command ID associated with
                         //   the result code
    const void* lpData,  // data associated with the
                         //   result
    DWORD       cbData,  // size of the structure
                         //   pointed to lpData
    DWORD       dwParam  // parameter originally passed
                         //   to <RIL_Initialize>
) 
{
    if (hrCmdID == AddForward && dwCode == RIL_RESULT_OK)   
	{
			gFlag = true;
			SetEvent(g_hEvent);
		
	}
	else  if (hrCmdID == AddForward )
	{
		gFlag = false;
		SetEvent(g_hEvent);
		return;
	}

	if (hrCmdID == AddForwardDisable && dwCode == RIL_RESULT_OK)   
	{
		gCount --;
		if (gCount == 0)
		{
			gFlag = true;
			SetEvent(g_hEvent);
		}

	}
	else  if (hrCmdID == AddForwardDisable )
	{
		RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		gFlag = false;
		SetEvent(g_hEvent);
			return;
	}
	
	if (hrCmdID == AddForwardBusy && dwCode == RIL_RESULT_OK)   
	{
		gCount --;
		if (gCount == 0)
		{
			gFlag = true;
			SetEvent(g_hEvent);
		}

	}
	else  if (hrCmdID == AddForwardBusy )
	{
		RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		gFlag = false;
		SetEvent(g_hEvent);
			return;
	}

	if (hrCmdID == AddForwardNoAnswer && dwCode == RIL_RESULT_OK)   
	{
		gCount --;
		if (gCount == 0)
		{
			gFlag = true;
			SetEvent(g_hEvent);
		}

	}
	else  if (hrCmdID == AddForwardNoAnswer )
	{
		RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		gFlag = false;
		SetEvent(g_hEvent);
			return;
	}

	
}

void CALLBACK CFRILNotify(
    DWORD       dwCode,  // notification code
    const void* lpData,  // data associated with the
                         //   notification
    DWORD       cbData,  // size of the structure
                         //   pointed to lpData
    DWORD       dwParam  // parameter originally passed
                         //   to <RIL_Initialize>
)
{

}
   //HRIL hRil = NULL;
void CallForward(TCHAR szForwardTelephone[])
{
    HRESULT hr;
	 HRESULT RemoveForward;
    //  define parameters for RIL_ Initialize
    DWORD dwIndex = 1;  //  1 is the default RIL port index (i.e. RIL1:)
    DWORD dwNotificationClasses = /*RIL_NCLASS_NETWORK*/RIL_NCLASS_CALLCTRL ;  // for location and registration changes
    DWORD dwParam = (DWORD)hDlgSetUp;  //  no need for the PTT App to use this feature 
	RILCALLFORWARDINGSETTINGS lpSettings;
	DWORD dwReason = 0;
	RILADDRESS CFRilAddress;
	int i;
	gCount =0;
	g_hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
    //  Call RIL_ Initialize
    hr = RIL_Initialize(
        dwIndex,
        CFRILResult,
        CFRILNotify,
        dwNotificationClasses,
        dwParam,
        &hRil
    );

    if (FAILED(hr))
    {
		int a = RILERRORCLASS(hr);
		MessageBox (hDlgSetUp, TEXT("无法取得网络资源!"), TEXT("错误:"), MB_OK );
       return;
    }


	RemoveForward = RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
	if (FAILED(RemoveForward))
		{
			MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("错误:"), MB_OK );
		   return;
		}
	memset(&CFRilAddress, 0, sizeof(RILADDRESS));
	CFRilAddress.cbSize = sizeof(RILADDRESS);
	CFRilAddress.dwParams = RIL_PARAM_A_TYPE | RIL_PARAM_A_NUMPLAN |RIL_PARAM_A_ADDRESS;
	CFRilAddress.dwType =RIL_ADDRTYPE_NATIONAL;
	CFRilAddress.dwNumPlan = RIL_NUMPLAN_TELEPHONE;
	wcsncpy(CFRilAddress.wszAddress,szForwardTelephone,(lstrlen (szForwardTelephone)+1) * sizeof (TCHAR));
	memset(&lpSettings, 0, sizeof(RILCALLFORWARDINGSETTINGS));
	lpSettings.cbSize = sizeof(RILCALLFORWARDINGSETTINGS);
	lpSettings.dwParams = RIL_PARAM_CFS_INFOCLASSES | RIL_PARAM_CFS_ADDRESS | RIL_PARAM_CFS_STATUS | RIL_PARAM_CFS_DELAYTIME;
	lpSettings.dwStatus = RIL_SVCSTAT_ENABLED;
	lpSettings.raAddress = CFRilAddress;
	lpSettings.dwInfoClasses = RIL_INFOCLASS_VOICE;
	lpSettings.dwDelayTime = 30;
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKINVALIDATION, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		gCount ++;
	}
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKBUSY, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		gCount ++;
	}
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKNOANSWER, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		gCount ++;
	}
	
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKINVALIDATION, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		dwReason = RIL_FWDREASON_UNREACHABLE;
		AddForwardDisable = RIL_AddCallForwarding(hRil,dwReason,&lpSettings);
		if (FAILED(AddForward))
		{
			MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("错误:"), MB_OK );
			RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		   return;
		}
	}
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKBUSY, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		dwReason = RIL_FWDREASON_MOBILEBUSY;
		AddForwardBusy = RIL_AddCallForwarding(hRil,dwReason,&lpSettings);
		if (FAILED(AddForward))
		{
			MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("错误:"), MB_OK );
			RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		   return;
		}
	}
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKNOANSWER, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		dwReason = RIL_FWDREASON_NOREPLY;
		AddForwardNoAnswer = RIL_AddCallForwarding(hRil,dwReason,&lpSettings);
		if (FAILED(AddForward))
		{
			MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("错误:"), MB_OK );
			RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		   return;
		}
	}
	i = SendDlgItemMessage (hDlgSetUp, IDC_CHECKALL, BM_GETCHECK, 0, 0);
	if (i != 0)
	{
		dwReason = RIL_FWDREASON_ALLFORWARDING;
		AddForward = RIL_AddCallForwarding(hRil,dwReason,&lpSettings);
		if (FAILED(AddForward))
		{
			MessageBox (hDlgSetUp, TEXT("呼转短信设置失败!"), TEXT("错误:"), MB_OK );
			RIL_RemoveCallForwarding(hRil,RIL_FWDREASON_ALLFORWARDING,RIL_INFOCLASS_VOICE);
		   return;
		}
	}

	if (dwReason == 0)
	{
		    gFlag = true;
			SetEvent(g_hEvent);
			/*MessageBox (hDlgSetUp, TEXT("已取消所有的呼转短信设置!"), TEXT("提示:"), MB_OK );
			SendMessage(hDlgSetUp,WM_CLOSE,0,0);*/
		   return;
	}
	hOldCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
	ShowCursor(TRUE);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -