记录一下。
修改自老外的代码,测试了一下。
菜鸟就是菜鸟,连着ActiveSync折腾了好久都没发现,和我一样的菜鸟注意一下。
使用各个软件版本:
VC2005,WinCE5.0,Smart Device Framework 2.1 Service Pack 1
下载地址:
http://www.opennetcf.com/
引用一下OpenNETCF.Net
using OpenNETCF.Net;
public OpenNETCF.Net.ConnectionManager ConnMgr = new OpenNETCF.Net.ConnectionManager();
private DestinationInfoCollection cenum;
private bool is_connected;
函数实现:
public
void
ConnGPRS(
bool
connect)
... {
long startTime;
cenum = ConnMgr.EnumDestinations();
is_connected = false;
try
...{
foreach (DestinationInfo em in cenum)
...{
if (em.Description == "默认 Internet 设置")
...{
if (connect)
...{
ConnMgr.Connect(em.Guid, true, ConnectionMode.Asynchronous);
startTime = DateTime.Now.Ticks;
while ((!is_connected) && (DateTime.Now.Ticks - startTime < 20 * TimeSpan.TicksPerSecond)) ;
}
else
...{
ConnMgr.Disconnect();
}
}
}
}
catch (SystemException err)
...{
MessageBox.Show(" err 700 " + err.Message);
}
}
... {
long startTime;
cenum = ConnMgr.EnumDestinations();
is_connected = false;
try
...{
foreach (DestinationInfo em in cenum)
...{
if (em.Description == "默认 Internet 设置")
...{
if (connect)
...{
ConnMgr.Connect(em.Guid, true, ConnectionMode.Asynchronous);
startTime = DateTime.Now.Ticks;
while ((!is_connected) && (DateTime.Now.Ticks - startTime < 20 * TimeSpan.TicksPerSecond)) ;
}
else
...{
ConnMgr.Disconnect();
}
}
}
}
catch (SystemException err)
...{
MessageBox.Show(" err 700 " + err.Message);
}
}
测试代码
private
void
btnConn_Click(
object
sender, EventArgs e)
... {
MessageBox.Show(ConnMgr.Status.ToString());
ConnGPRS(true);
MessageBox.Show(ConnMgr.Status.ToString());
}
private void BtnExit_Click( object sender, EventArgs e)
... {
Application.Exit();
}
private void btnDis_Click( object sender, EventArgs e)
... {
MessageBox.Show(ConnMgr.Status.ToString());
ConnGPRS(false);
MessageBox.Show(ConnMgr.Status.ToString());
}
... {
MessageBox.Show(ConnMgr.Status.ToString());
ConnGPRS(true);
MessageBox.Show(ConnMgr.Status.ToString());
}
private void BtnExit_Click( object sender, EventArgs e)
... {
Application.Exit();
}
private void btnDis_Click( object sender, EventArgs e)
... {
MessageBox.Show(ConnMgr.Status.ToString());
ConnGPRS(false);
MessageBox.Show(ConnMgr.Status.ToString());
}
唯一需要注意的是,Description的值,这里选了"默认 Internet 设置",
要看具体系统了,换成相应的描述。