重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.获取当前电脑名:System.Net.Dns.GetHostName()
目前创新互联公司已为上千多家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、新兴网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
2.根据电脑名取出全部IP地址:System.Net.Dns.Resolve(电脑名).AddressList
或者 System.Net.Dns.GetHostByName(电脑名).AddressList
3.根据IP地址取出电脑名:System.Net.Dns.Resolve(IP地址).HostName
你要问的是不是以上三项在注册表中的位置,下面提供:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
项下有很多句柄你可以在里边找到不同的本地连接对应的句柄,在程序里进行修改就可以了,如果找不到,可以先在本地连接属性里修改tcp/ip协议的相应设置,然后到注册表里查找相应的数据就可以定位该位置了!源码这次就不给出了,就是修改注册表,和容易,您可以使用vb自带的函数,也可以使用wsh提供的脚本函数,当然也可以使用winAPI(比较复杂,要严格定义参数类型,即缓冲区,所以简单的修改不建议使用)。
希望您的问题能尽快解决!
建议你使用注册表的API进行修改
封装两个NET函数给你
private string GetReg(string RegPath) 取得注册表项内容
{
string str="";
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);
RegistryKey aimdir = software.OpenSubKey("krabs",true);
if (aimdir != null)
{
if (aimdir.GetValue(RegPath) != null)
str = aimdir.GetValue(RegPath).ToString();
if (str != null)
return str;
return null;
}
return null;
}
private bool SetReg(string RegPath,string Data) //设置注册表内容
{
RegistryKey reg = Registry.LocalMachine;
RegistryKey software = reg.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir1 = software.CreateSubKey("krabs");
if (aimdir1 == null)
return false;
aimdir1.SetValue(RegPath, Data);
return true;
}
做exe程序获取本机IP地址用
System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList
做web程序获取客户端的IP地址用
HttpContext.Current.Request.ServerVariables("REMOTE_ADDR"])