亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.cpp

?? Cellcore. ExTAPI,ExTAPIAsync,SMS,TAPI
?? CPP
字號(hào):
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/*

 MAIN.CPP

 A simple TAPI dialer. 

 A dialog is presented allowing the user to 
 key in a phone number which is then dialed 
 using the TAPI function tapiRequestMakeCall.

*/

#include <windows.h>
#include <astdtapi.h>
#include <Aygshell.h>
#include "resource.h"

#define BUFSIZE		256

// Macro to simplify determining the number of elements in an array 
// (do *not* use this macro for pointers)
#define ARRAY_LENGTH(x) (sizeof(x)/sizeof((x)[0]))

// function declarations
BOOL ConfirmNumber(void);
BOOL DialNumber(void);
BOOL CALLBACK DialogProc(const HWND hDlg, const UINT uiMessage, 
						 const WPARAM wParam, const LPARAM lParam);

// globals variable declarations
HINSTANCE		ghInstance;
static TCHAR	gszDefaultNum[] = TEXT("+1 (425) 882-8080");
LPTSTR			gpszPhoneNum = gszDefaultNum;

// Purpose: Determine at runtime if the app is running on a smartphone device
static BOOL IsSmartphone() 
{
    TCHAR tszPlatform[64];

    if (TRUE == SystemParametersInfo(SPI_GETPLATFORMTYPE,
         sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
    {
        if (0 == _tcsicmp(TEXT("Smartphone"), tszPlatform)) 
        {
            return TRUE;
        }
    }
    return FALSE;   
}
// ***************************************************************************
// Function Name: WinMain
//
// Purpose: Main entry point into the HelloTAPI program
//
// Arguments: Standard WinMain arguments
//
// Return Values: 0
//
// Description:
//	Our WinMain function essentialy just pops up a Dialog box to request a
//	phone number to dial.  Then, based on the return value of that Dialog box,
//	it (a) does nothing, (b) confirms, then dials the number, (c) dials.

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
				   LPTSTR lpCmdLine, int nShowCmd)
{
	// flag
	int iTryDial = 1;

	// store the hInstance
	ghInstance = hInstance;

	// Create the dialog box. 
    // The dialog box is modal so control will not be returned to this 
    // function until the callback function (DialogPrc) has been invoked 
    // and has called EndDialog.
    //
    // Note the use of the MAKEINTRESOURCE macro to set the high-order 
    // word of the resource identifier to zero as it is passed to DialogBox 
	iTryDial = DialogBox(ghInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC)DialogProc);

    // switch on the value set in DialogProc and do the 
    // appropriate action. 
	switch (iTryDial) 
    {
		case 0: // cancel
			// do nothing
			break;
		case 1: // confirm, then dial
			if (ConfirmNumber()) 
            {
				if (!DialNumber()) 
                {
					MessageBox(NULL, TEXT("Doh!!!"), TEXT("Phone Call Failed"), MB_OK);
				}
			}
			break;
		case 2: // dial now
			if (!DialNumber()) 
            {
				MessageBox(NULL, TEXT("Doh!!!"), TEXT("Phone Call Failed"), MB_OK);
			}
			break;
		default: // error
			MessageBox(NULL, TEXT("An error has occurred while initializing the dialog box."),
					   TEXT("Error!!!"), MB_OK);
			break;
	}

	return 0;
}

// ***************************************************************************
// Function Name: DialogProc
// 
// Purpose: Message Handler for HelloTAPI Dialog Box
//
// Arguments: Standard Dialog Procedure Arguments
//
// Return Values:
//	Returns a number between -1 and 2, inclusive, indicating the following:
//	   -1	An error occurred while initializing the Dialog
//		0	Cancel was pressed
//		1	Confirm, then Dial
//		2	Dial Immediately
//
// Side Effects:
//	Sets gpszPhoneNum to point to either a copy of the number entered, or
//	to the default number.
//	
// Description:
//	Dialog Procedure for the main HelloMAPI Dialog.  Accepts a phone number as
//	input and copies it to a global variable.  Demonstrates use of SoftKey menus
//	as well (user can Dial or Cancel).

BOOL CALLBACK DialogProc(const HWND hDlg, const UINT uiMessage, 
						 const WPARAM wParam, const LPARAM lParam)
{
	BOOL	bProcessedMsg = true;
	int		iDial = 1;
	DWORD	dwFlags = 0;

	
	switch(uiMessage)
	{
		case WM_INITDIALOG:
            // This is a standard message received before the dialog
            // box is displayed so initialise and set up the resources.

            // Specify that the dialog box should stretch full screen
			SHINITDLGINFO shidi;
			
			ZeroMemory(&shidi, sizeof(shidi));
            
			dwFlags = SHIDIF_SIZEDLGFULLSCREEN;

			if (!IsSmartphone())
			{
				dwFlags |= SHIDIF_DONEBUTTON;
			}
			shidi.dwMask = SHIDIM_FLAGS;
            shidi.dwFlags = dwFlags;
            shidi.hDlg = hDlg;
            
			// Set up the menu bar
			SHMENUBARINFO shmbi;
			ZeroMemory(&shmbi, sizeof(shmbi));
            shmbi.cbSize = sizeof(shmbi);
            shmbi.hwndParent = hDlg;
            shmbi.nToolBarId = IDR_HELLOMAPI_APPMENUBAR;
            shmbi.hInstRes = ghInstance;
			

			// If we could not initialize the dialog box, return an error
			if (!(SHInitDialog(&shidi) && SHCreateMenuBar(&shmbi))) 
            {
				EndDialog(hDlg, -1);
			}
            else
			// set the title bar 
            {
                TCHAR sz[160]; 
                LoadString(ghInstance, IDS_HELLOMAPI_TITLE, sz, ARRAY_LENGTH(sz)); 
                SetWindowText(hDlg, sz); 
            } 
			break;

		case WM_COMMAND:
            // An event has occured in the dialog box
            // The low-order word of wParam specifies the identifier 
            // of the menu item, control, or accelerator.
			switch (LOWORD(wParam)) 
            {
				case IDM_HELLOMAPI_DIALNOW:
					// Increment iDial, so that EndDialog returns 2
					// This is because we want to distinguish between confirm
					// and no confirm.  Fall through the case.
					++iDial;
				case IDM_HELLOMAPI_CONFIRM:
					// malloc space for the phone number
					gpszPhoneNum = (LPTSTR) malloc(BUFSIZE * sizeof(TCHAR));
					if (!gpszPhoneNum) 
                    {
						gpszPhoneNum = gszDefaultNum;
						EndDialog(hDlg, -1);
                        break;
					}

					// get the number - set to default if empty
					if (!GetDlgItemText(hDlg, IDC_PHONENUM, gpszPhoneNum, 
										BUFSIZE - 1)) 
                    {
						free(gpszPhoneNum);
						gpszPhoneNum = gszDefaultNum;
					}

					EndDialog(hDlg, iDial); 
					break;
				case IDM_HELLOMAPI_CANCEL:
				case IDOK:
					// do nothing
					EndDialog(hDlg, 0);
					break;
			}
			break;

		default:
			// nothing was processed
			bProcessedMsg = false;
			break;
	}

	return bProcessedMsg;
}

// ***************************************************************************
// Function Name: ConfirmNumber
// 
// Purpose: 
//	Give the user one last chance to confirm that the number they entered
//	is indeed the one they want to dial.
//
// Arguments: None
//
// Return Values:
//	TRUE if ok to Dial, FALSE if not ok
//
// Description:
//	Pops up a YESNO Message box allowing the user to confirm the number
//	to be dialed.

BOOL ConfirmNumber(void)
{
	int				iResult;
	TCHAR			szTemp[BUFSIZE];
	TCHAR			szConfirmString[BUFSIZE];

	// sanity check
	ASSERT(gpszPhoneNum && *gpszPhoneNum);

	// Create Confirmation String. MessageBox requires a 0 terminated string.
    LoadString(ghInstance, IDS_HELLOMAPI_AREYOUSURE, szTemp, ARRAY_LENGTH(szTemp));
    StringCchPrintf(szConfirmString, BUFSIZE, TEXT("%s %s?"), szTemp, gpszPhoneNum);
    

	// Confirm the number to be dialed.
    LoadString(ghInstance, IDS_HELLOMAPI_DIALCONFIRMATION, szTemp, ARRAY_LENGTH(szTemp));
	iResult = MessageBox(NULL, szConfirmString, szTemp, MB_YESNO);

	// Dial the number?
	return (IDYES == iResult);
}

// ***************************************************************************
// Function Name: DialNumber
//
// Purpose: Attempt to dial a phone number with tapiRequestMakeCall
//
// Arguments: none
//
// Return Values:
//	TRUE if dial attempt was successful, FALSE otherwise
//	Note: even a busy signal is considered a successful dial
//
// Description:
//	Essentially all this function does is tries to make a phone call.
//	If the call is not successful, one might be interested in the return
//	value of tapiRequestMakeCall, but in this program we are content just to
//	return whether the call was successful or not.

BOOL DialNumber(void)
{
	LONG lResult;
	lResult = tapiRequestMakeCall(gpszPhoneNum, NULL, NULL, NULL);
	return (0 == lResult);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一级黄色片| 日韩精品亚洲一区| 成人h动漫精品| 中文字幕一区二区三区av| 国产91精品久久久久久久网曝门| 国产拍揄自揄精品视频麻豆| 91小视频免费观看| 亚洲一区国产视频| 日韩女优av电影在线观看| 国产在线观看一区二区| 国产精品麻豆欧美日韩ww| 色综合久久六月婷婷中文字幕| 亚洲综合色噜噜狠狠| 91精品国产免费久久综合| 国产在线精品一区二区三区不卡| 欧美经典一区二区| 91国产免费看| 美女网站色91| 亚洲国产精品v| 欧美日韩国产高清一区| 国产精品18久久久| 亚洲免费在线看| 欧美一区二区三区四区高清| 国产风韵犹存在线视精品| 亚洲午夜激情网站| 久久亚洲精品小早川怜子| 日本久久一区二区| 精品一区二区免费视频| 亚洲精品中文字幕在线观看| 欧美一区二区在线播放| 成人动漫在线一区| 日本特黄久久久高潮| 国产精品传媒视频| 欧美成人三级电影在线| 91天堂素人约啪| 国产美女主播视频一区| 亚洲在线视频网站| 欧美韩国日本一区| 日韩欧美激情在线| 欧美性一二三区| 成人午夜电影久久影院| 日韩av一区二区在线影视| 国产精品美女久久久久久2018 | 成人免费福利片| 丝袜亚洲另类欧美综合| 亚洲天堂精品在线观看| 欧美成人国产一区二区| 欧美性大战久久久久久久蜜臀| 久久久99精品久久| 亚洲影院在线观看| 在线播放中文字幕一区| 午夜日韩在线电影| 欧美大片一区二区三区| 国产一区二区三区免费观看| 美女爽到高潮91| 亚洲精品ww久久久久久p站| 国内精品第一页| 亚洲国产高清aⅴ视频| 91精品1区2区| 国产精品嫩草99a| 91久久一区二区| 美国毛片一区二区三区| 欧美精品一级二级三级| 成人欧美一区二区三区1314| 毛片不卡一区二区| 欧美日本一区二区在线观看| 亚洲精品视频免费看| 久久伊99综合婷婷久久伊| 99麻豆久久久国产精品免费| 亚洲国产精品嫩草影院| 777亚洲妇女| 波多野结衣亚洲| 99国产精品视频免费观看| 亚洲成在人线在线播放| 中文字幕亚洲欧美在线不卡| 日韩视频中午一区| 欧美片在线播放| 色妹子一区二区| 日韩av在线播放中文字幕| 国产日韩欧美不卡在线| 欧美在线免费观看亚洲| 热久久国产精品| 亚洲人成人一区二区在线观看| 欧美日韩综合在线| 91最新地址在线播放| 成人国产精品免费网站| 亚洲国产婷婷综合在线精品| 国产午夜亚洲精品不卡 | 91在线观看地址| 国产乱理伦片在线观看夜一区| 亚洲欧美激情一区二区| 色呦呦网站一区| 国产一区二区在线影院| 亚洲欧洲色图综合| 中文字幕中文字幕一区| 国产午夜精品一区二区三区四区| 91麻豆精品国产自产在线 | 日韩黄色片在线观看| 欧美电视剧在线看免费| 久久亚区不卡日本| 亚洲黄色在线视频| 一区二区激情小说| 色综合色综合色综合| 91成人国产精品| 91.com在线观看| 久久久久久久久免费| ...av二区三区久久精品| 同产精品九九九| 国产乱码精品一区二区三区五月婷| 国产精品一二三在| 色哟哟日韩精品| 精品国产3级a| 怡红院av一区二区三区| 久久精品理论片| 91久久线看在观草草青青| 91精品国产欧美一区二区成人| 国产片一区二区| 日韩国产一区二| av在线这里只有精品| 国产一区在线精品| 青娱乐精品视频| 捆绑调教一区二区三区| 国产人成亚洲第一网站在线播放| 欧美一区二区观看视频| 久久婷婷国产综合精品青草| 依依成人精品视频| 国产精品18久久久久| 欧美日韩和欧美的一区二区| 国产日韩综合av| 老司机午夜精品99久久| 91福利在线观看| 国产精品美女久久久久高潮| 免费欧美在线视频| 欧洲国内综合视频| 中文字幕亚洲成人| 精品一区二区久久久| 欧美久久久久免费| 亚洲裸体xxx| 成人精品电影在线观看| 精品久久国产字幕高潮| 亚洲成人综合视频| 91麻豆精品一区二区三区| 久久奇米777| 美女任你摸久久| 欧美日韩国产另类一区| 亚洲资源中文字幕| 91麻豆国产精品久久| 亚洲国产精品久久不卡毛片 | 久久草av在线| 欧美日韩国产精品成人| 一区二区久久久久| 91啦中文在线观看| 欧美韩国一区二区| 国产91精品一区二区麻豆亚洲| 精品国产亚洲在线| 久久超碰97人人做人人爱| 日韩欧美一区在线| 麻豆久久久久久久| 欧美一区二区三区视频在线观看| 午夜影院久久久| 欧美日本一区二区在线观看| 亚洲国产人成综合网站| 欧美日韩一区国产| 午夜欧美一区二区三区在线播放| 欧美亚洲一区三区| 亚洲成人黄色小说| 欧美日韩视频在线观看一区二区三区 | 精品综合免费视频观看| 日韩天堂在线观看| 麻豆91在线播放免费| 日韩小视频在线观看专区| 美女任你摸久久 | 国产精品99久久久久久久女警| 精品国产伦一区二区三区观看方式| 久久国产精品99久久久久久老狼| 日韩欧美激情一区| 国产精品一区二区免费不卡| 久久精品免视看| www.日韩在线| 亚洲综合在线观看视频| 精品视频色一区| 日本伊人色综合网| 欧美精品一区二区三区在线播放| 国产一区二区三区黄视频 | 成人av电影在线观看| 亚洲人成小说网站色在线 | 在线亚洲高清视频| 天堂在线一区二区| 久久美女艺术照精彩视频福利播放| 国产福利一区在线| 亚洲裸体xxx| 欧美一区二区不卡视频| 国内成人自拍视频| 中文字幕亚洲一区二区va在线| 在线视频中文字幕一区二区| 免费在线观看视频一区| 国产视频一区在线播放| 欧美艳星brazzers| 国产一区二区三区视频在线播放| 亚洲天堂av一区|