windows ce gprs 拨号程序

// EmboConn.cpp : Defines the entry point for the application.
//

#include 
"stdafx.h"
#include 
"ras.h"

HANDLE hPort 
= INVALID_HANDLE_VALUE;
HRASCONN hRasConn 
= NULL;
BOOL CreatePort()
{
 DWORD dwNumBytesWritten;
 BOOL fRet;
 BYTE Bytes[]
={'A','T','+','C','G','D','C','O','N','T','=','1',',','"','I','P','"',',','"','C','M','N','E','T','"',0x0D,'A','T','D','T','*','9','9','#',0x0D};
 
//open the serial port
 hPort = CreateFile(TEXT("COM8:"),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);


 
if ( hPort == INVALID_HANDLE_VALUE ) 
 {
    
// Could not open the port.
  
//printf("Open the serial port failed/n/r");
  return FALSE;
 }
 
//BYTE Bytes[]={'A','T',0x0D};
 
//DWORD CgdcontSize = sizeof(Cgdcont);
 DWORD BytesSize = sizeof(Bytes);
 
//fRet = WriteFile(hPort,Cgdcont,CgdcontSize, &dwNumBytesWritten,NULL);
 fRet = WriteFile(hPort,Bytes,BytesSize, &dwNumBytesWritten,NULL);
 fRet 
= ReadFile(hPort,Bytes,4,&dwNumBytesWritten,NULL);
 
if(fRet)
 {
  
//printf("open the serial port successful /n/r");
  CloseHandle(hPort);
 }
 
else
 {
  
//close the serial port
  CloseHandle(hPort);
  
//printf("Close serial port successful/n/r");
 }

 
return TRUE;

}

LRESULT CALLBACK WndProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
 RASCONNSTATE RasState 
= (RASCONNSTATE)wParam;
 
switch(Msg)
 {
  
case WM_RASDIALEVENT:
   
switch(RasState)
   {
    
case RASCS_OpenPort:
     printf(
"正在打开端口/n/r");
     
break;
    
case RASCS_PortOpened:
     printf(
"端口已经打开/n/r");
     
break;
    
case RASCS_ConnectDevice:
     printf(
"正在连接设备/n/r");
     
break;
    
case RASCS_Connected:
     
//int i;
     
//printf("已连接/n/r");
     
//scanf("%d",i);
     
//if(i==1)
     
//{
     
// RasHangUp(hRasConn);
     
//}
     break;
    
case RASCS_Disconnected:
     printf(
"连接已断开/n/r");
     
break;
    
default:
     printf(
"未知/n/r");
     
break;
   }
   
break;
  
default:
   
return DefWindowProc(hWnd, Msg, wParam, lParam);
 }
 
return TRUE;
}

int WINAPI WinMain( HINSTANCE hInstance,
     HINSTANCE hPrevInstance,
     LPTSTR    lpCmdLine,
     
int       nCmdShow)
{
  
// TODO: Place code here.
  HWND hwnd;
  MSG msg;
  WNDCLASS wc;
  wc.style 
= 0;
  wc.lpfnWndProc 
= (WNDPROC)WndProc;
  wc.cbClsExtra 
= 0;
  wc.cbWndExtra 
= 0;
  wc.hInstance 
= hInstance;
  wc.hIcon 
= 0;
  wc.hCursor 
= 0;
  wc.hbrBackground 
= NULL;
  wc.lpszMenuName 
= 0;
  wc.lpszClassName 
= _T("embo");

  RegisterClass(
&wc);
  
  hwnd 
= CreateWindow(_T("embo"),_T("EmboConnection"),0,0,0,0,0,NULL,NULL,hInstance,NULL);
  
  ShowWindow(hwnd,
0);

  CreatePort();

  RASDIALPARAMS rdParams;
//拨号参数

  
//初始化拨号参数
  rdParams.dwSize=sizeof(RASDIALPARAMSW);
  wcscpy(rdParams.szEntryName,_T(
"Embo Connection"));
  wcscpy(rdParams.szPhoneNumber,_T(
""));
  wcscpy(rdParams.szCallbackNumber,_T(
""));
  wcscpy(rdParams.szUserName,_T(
""));
  wcscpy(rdParams.szPassword,_T(
""));
  wcscpy(rdParams.szDomain,_T(
""));
  DWORD dwRet;
  
//拨号连接
  
//printf("connecting  /n/r");
  dwRet = RasDial(NULL,NULL,&rdParams,0xFFFFFFFF,hwnd ,&hRasConn);

  
if(dwRet != 0)//connection successful
  {
   RasHangUp(hRasConn);
  }

 

  
while ( GetMessage(&msg, NULL, 00!= FALSE )
  {
   TranslateMessage(
&msg);
   DispatchMessage(
&msg);
  }
  
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值