📄 customerservice.cpp
字号:
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 + -