知道的请进来,路过的请顶下,顶者有分, 愚翁你可以进来吗 C#怎么得到局域网内所有计算机的名字啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体情况是这样的,就是我一个windowsFrom程序连接服务器的时候,用户选择默认服务器登陆时,就会自动地在局域网内搜索指定的数据库服务器进行连接.... SQLDMO即可??那是取得的是数据库服务器的列表吧,我要的是怎么得到局域网内所有计算机的名字啊 调用 ping 命令。一个IP一个IP的 ping 然后取返回的机器名。很愚的办法。^-^ private void ScanTarget() { string strIPAddress="192.168.1."; //Start scan address int nStrat = Int32.Parse("1"); //Finish scan address int nEnd =Int32.Parse("255"); //scan operation for(int i=nStrat;i<=nEnd;i++) { string strScanIPAdd = strIPAddress +i.ToString(); //convert to ip address IPAddress myScanIP = IPAddress.Parse(strScanIPAdd); try { //get dns information IPHostEntry myScanHost = Dns.GetHostByAddress(myScanIP); //get host name string strHostName =myScanHost.HostName.ToString(); this.listBox2.Items.Add(strScanIPAdd+"->"+strHostName+"\r"); } catch { continue; } }//for MessageBox.Show("ok"); } SQLDMO即可??那是取得的是数据库服务器的列表吧,我要的是怎么得到局域网内所有计算机的名字啊 __________________________________你都得到了数据库服务器的列表? 还不能让用户连接到相应服务器? ok 你的要求是查看数据库服务器所在的机子的名字? 我理解错误. 回楼上的??IPAddress要引用哪个名称空间啊 参看http://topic.csdn.net/t/20030506/11/1744771.html你可以单开线程去遍历。 http://www.codeproject.com/cs/database/SubmitSQLInfoEnumerator.asp这里有你要的东东 我曾经用循环的写着玩过呵呵如果觉得界面线程像死锁一样不动有点难看的话,你可以1.开个线程去做。2.每个循环里加上System.Windows.Forms.Application.DoEvents(); to www_123du_com(鼠·神·泪)(www.123du.com) 可以看看你的代码么? 开几十个线程?怎么开啊,我是刚工作2个月的,需要帮下忙,比如:public void loginF(){ //初始下 string strIPAddress="192.168.1."; //从1开始遍历 int nStrat = Int32.Parse("1"); //到255时结束.. int nEnd =Int32.Parse("255"); try { (int i=nStrat;i<=nEnd;i++) { try { string strScanIPAdd = strIPAddress +i.ToString(); //下面是连接服务器的代码,strScanIPAdd 为连接参数,,, } }//登陆按钮.........private void button1_Click(object sender, System.EventArgs e){ System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(loginF));thread1.Start();}开很多个我该怎么去写啊 帮你写点多线程伪代码,你给我多送点分,好吧?当然,你要注意分配线程的多少问题,或者你可以让一个线程查多次。需要你自己改改。private void button1_Click(object sender, System.EventArgs e){ for (int i=1; i<=255; i++) { //线程池 System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback("192.168.1."+i)); }}private void ThreadRun(object ip){ //查此IP}或者private void button1_Click(object sender, System.EventArgs e){ for (int i=1; i<=255; i++) { //系统线程池 System.Threading.Thread thread = new Thread(new System.Threading.ThreadStart(new My("192.168.1."+i).ThreadRun)); }}internal class My{ private string IP; public My(string ip) { this.IP = ip; } public void ThreadRun() { //查此IP }} 注释有误//系统线程池-->这个不是线程池 System.Threading.Thread thread = new Thread(new System.Threading.ThreadStart(new My("192.168.1."+i).ThreadRun)); ThreadRun()里面的方法没有执行啊,进不了,就一直在for (int i=1; i<=255; i++)里跳,可能要跳到255的时候,那怎么办,还是线程吗? 顶!!!_________________________________________________________________________________买域名送空间,买空间送域名,国际顶级域名(.com .net .org .cn)只需要50元/年,100M ASP.NET空间(支持1.1,2.0)仅需50元............详情请登陆:www.kingtoo.com datalist分页第二页无法显示数据……急急急 MDI窗体 关于C#中读取XML数据的问题 C#中如何创建dbf数据库文件(文件类型要求为FoxBASE+/Dbase III plus)。 完整的C#公历转农历的源代码 急用 在线等 先表示感谢 WinForm 自定义控件DataGird和一个外部窗体的TextBox实现用Databinding的问题 如何在datagrid中实现批量提交功能? 如何实现3721首页那样的功能 获取传递给打印机的打印内容 visual c# beta2 编译问题? 关于namespace的问题 关于泛型的问题
{
string strIPAddress="192.168.1.";
//Start scan address
int nStrat = Int32.Parse("1");
//Finish scan address
int nEnd =Int32.Parse("255");
//scan operation
for(int i=nStrat;i<=nEnd;i++)
{
string strScanIPAdd = strIPAddress +i.ToString();
//convert to ip address
IPAddress myScanIP = IPAddress.Parse(strScanIPAdd);
try
{
//get dns information
IPHostEntry myScanHost = Dns.GetHostByAddress(myScanIP);
//get host name
string strHostName =myScanHost.HostName.ToString();
this.listBox2.Items.Add(strScanIPAdd+"->"+strHostName+"\r");
}
catch
{
continue;
}
}//for
MessageBox.Show("ok");
}
__________________________________你都得到了数据库服务器的列表? 还不能让用户连接到相应服务器? ok 你的要求是查看数据库服务器所在的机子的名字? 我理解错误.
http://topic.csdn.net/t/20030506/11/1744771.html你可以单开线程去遍历。
这里有你要的东东
1.开个线程去做。
2.每个循环里加上System.Windows.Forms.Application.DoEvents();
可以看看你的代码么?
public void loginF()
{
//初始下
string strIPAddress="192.168.1.";
//从1开始遍历
int nStrat = Int32.Parse("1");
//到255时结束..
int nEnd =Int32.Parse("255");
try
{
(int i=nStrat;i<=nEnd;i++)
{
try
{
string strScanIPAdd = strIPAddress +i.ToString();
//下面是连接服务器的代码,strScanIPAdd 为连接参数,,,
}
}
//登陆按钮.........
private void button1_Click(object sender, System.EventArgs e)
{
System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(loginF));
thread1.Start();
}
开很多个我该怎么去写啊
{
for (int i=1; i<=255; i++)
{
//线程池
System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback("192.168.1."+i));
}
}
private void ThreadRun(object ip)
{
//查此IP
}
或者
private void button1_Click(object sender, System.EventArgs e)
{
for (int i=1; i<=255; i++)
{
//系统线程池
System.Threading.Thread thread = new Thread(new System.Threading.ThreadStart(new My("192.168.1."+i).ThreadRun));
}
}
internal class My
{
private string IP;
public My(string ip)
{
this.IP = ip;
}
public void ThreadRun()
{
//查此IP
}
}
//系统线程池-->这个不是线程池
System.Threading.Thread thread = new Thread(new System.Threading.ThreadStart(new My("192.168.1."+i).ThreadRun));
买域名送空间,买空间送域名,国际顶级域名(.com .net .org .cn)只需要50元/年,100M ASP.NET空间(支持1.1,2.0)仅需50元............详情请登陆:www.kingtoo.com