wince下,怎么样进行自动拨号连接(GPRS) 不要给不全,或无效程序,最好是C#代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://download.chinaprj.cn/download/iOTDqqBD #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, 0, 0) != FALSE ) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0;} 弱弱地问一个问题,能不能让dataGridView1某些行不能用鼠标点击 C# 页面按钮点击以后不触发后台事件.一般是出什么问题了? 关于"解决方案中",按F5是不是都会检查每一个项目呢?(是否要求每一个项目都是对的才能运行?) 请问,c#有象java的api文档吗? 高分求助,简单问题 C#中怎么样将checkbox的文字显示在方框的左边? 在c#中如何取得表单中的值 rectangle的移动 CallBack类型的参数应该传一个什么参数?求大神解答下 寻求调用大批量基础数据作为录入时的解决方案 label显示固定文件夹下的值 double类型依然不够大来存放我要的数值该怎么办?
#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, 0, 0) != FALSE )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}