我的环境如下:
我用VS2003 C# ,建立了个智能设备应用程序。
客户端安装的是WINCE4.2,用无线网卡连接局域网。
Framework 的版本是 1.1请问这个环境下,如何判断我的客户端机子,是否已经连接到局域网。
应为是移动设备所以有可能走到AP发射点的范围外,引起不必要的错误。我也看了许多以前的帖子,但是都不行。
用 System.Net.Sockets,发布到客户端就报错,说没找到资源。
用 API也不行,大概是VS2003还不支持某些类。谢谢各位帮我看看有办法不。
我用VS2003 C# ,建立了个智能设备应用程序。
客户端安装的是WINCE4.2,用无线网卡连接局域网。
Framework 的版本是 1.1请问这个环境下,如何判断我的客户端机子,是否已经连接到局域网。
应为是移动设备所以有可能走到AP发射点的范围外,引起不必要的错误。我也看了许多以前的帖子,但是都不行。
用 System.Net.Sockets,发布到客户端就报错,说没找到资源。
用 API也不行,大概是VS2003还不支持某些类。谢谢各位帮我看看有办法不。
public static bool Ping(string remoteHost)
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"ping -n 1 " + remoteHost;
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(500);
}
string pingResult = proc.StandardOutput.ReadToEnd();
if (pingResult.IndexOf("(0% loss)") != -1)
{
Flag = true;
}
proc.StandardOutput.Close();
}
catch (Exception ex)
{
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}
我在C#里面是ping下,你参考下
Process这个类在CE开发里好像么有。to huwei001982
用API InternetGetConnectedState不能返回网络通不通,只是返回用什么类型的连接。
希望有别的方法。
public extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
public static bool IsConnect()
{
int Desc;
return WINAPI.InternetGetConnectedState(out Desc, 0);
}