• Webzter
    了解作者
  • Dev C++
    开发工具
  • 2KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-05-26 08:19
    上传日期
VCs get computer IP VCs获得计算机IP
mhtriple.zip
  • GVC#获得计算机IP.txt
    9.5KB
内容介绍
发信人: xixixi (wenwen), 信区: dotNET 标 题: 用Visual C#获得计算机名称和IP地址 发信站: 飘渺水云间 (Sun Dec 9 21:14:25 2001), 转信 Visual C#是微软公司推出的下一代程序开发语言,是微软.Net 框架中的的一个重 要组 成部分,在推出Visual C#的过程中,微软公司还推出了与之相对应的一个软件开 发包- -.Net FrameWork SDK。此软件开发包里面封装了许多类、对象。Visual C#就是通 过调 用这些类、对象来实现许多比较强大的功能。 在.Net FrameWork SDK中提供了二个可用于网络编程的名称空间,一个是System. Net, 另一个是System..Net.Socket。本文就是利用第一个名称空间中封装的类和对象来 读取 本地计算机名称和机器中所有的IP地址。 一.概述: 我们知道对于一台计算机来说,他只有一个计算机名称,但是他可以有多个IP地址 。例 如当计算机通过拨号上网的时候,在验证完用户名和口令以后,就会动态分配一个 IP地 址,此时计算机就拥有了二个IP地址,一个时自己设定的局域网用的IP地址,另外 一个 就是拨号上网动态分配的IP地址了。本文就是来探索一下如何读取此二个IP地址和 计算 机名称。 二.程序设计和运行的环境: (1)微软公司视窗2000服务器版 (2).Net FrameWrok SDK Beta 2版 三.程序设计的主要思路及实现方法: (1).读取计算机的名称: 在名称空间System.Net中定义了一个类Dns,在此类中定义了一个比较重要的方法 GetH ostName ( ),此方法的返回值就是本地计算机名称。在程序设计中首先要导入 System. Net名称空间,然后通过调用Dns类中的GetHostName ( )方法读取本地计算机名称 ,具体 实现的主要语句如下: label1.Text = "主机名称:" + System.Net.Dns.GetHostName ( ) ; (2).读取计算机的拨号上网临时的IP地址和局域网分配的固定IP地址: 在程序设计中,我们是通过一个自定义的函数--getIPAddress ( )来读取IP地址的 。首 先看一下如何读取本地固定的IP地址的。在Dns类中还定义了一个方法 GetHostByName ( )。此方法的返回值时IPHostEntry 对象,此对象有一个属性是AddressList,此 属性是 一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息。这当中也就 包含了 拨号上网得到的临时分配的IP地址和局域网固定的IP地址。具体实现语句如下: private static string getIPAddress ( ) { System.Net.IPAddress addr; // 获得本机局泳陀涤辛硕鯥P地址,一个时自己设定的局域网用的IP地址,另外 一个 就是拨号上网动态分配的IP地址了。本文就是来探索一下如何读取此二个IP地址和 计算 机名称。 二.程序设计和运行的环境: (1)微软公司视窗2000服务器版 (2).Net FrameWrok SDK Beta 2版 三.程序设计的主要思路及实现方法: (1).读取计算机的名称: 在名称空间System.Net中定义了一个类Dns,在此类中定义了一个比较重要的方法 GetH ostName ( ),此方法的返回值就是本地计算机名称。在程序设计中首先要导入 System. Net名称空间,然后通过调用Dns类中的GetHostName ( )方法读取本地计算机名称 ,具体 实现的主要语句如下: label1.Text = "主机名称:" + System.Net.Dns.GetHostName ( ) ; (2).读取计算机的拨号上网临时的IP地址和局域网分配的固定IP地址: 在程序设计中,我们是通过一个自定义的函数--getIPAddress ( )来读取IP地址的 。首 先看一下如何读取本地固定的IP地址的。在Dns类中还定义了一个方法 GetHostByName ( )。此方法的返回值时IPHostEntry 对象,此对象有一个属性是AddressList,此 属性是 一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息。这当中也就 包含了 拨号上网得到的临时分配的IP地址和局域网固定的IP地址。具体实现语句如下: private static string getIPAddress ( ) { System.Net.IPAddress addr; // 获得本机局域网IP地址 addr = new System.Net.IPAddress ( Dns.GetHostByName ( Dns.GetHostName ( ) ) .AddressList [0].Address ) ; return addr.ToString ( ) ; } 四.读取计算机名称本机固定IP地址源程序 IP01.cs源程序: //导入程序用到的名称空间 using System ; using System.Net; using System.Windows.Forms ; using System.Drawing ; public class Form3 : Form { //定义二个标签 private Label label1 ; private Label label2 ; public static void Main ( ) { Application.Run ( new Form3 ( ) ) ; } // 构造窗体 public Form3 ( ) { // 建立标签并且初始化 this.label1 = new System.Windows.Forms.Label ( ) ; this.label2 = new System.Windows.Forms.Label ( ) ; //先继承一个Label 类 label1.Location = new System.Drawing.Point ( 24 , 16 ) ; label2.Location = new System.Drawing.Point ( 44 , 36 ) ; //设定 Label的显示位置 label1.Text = "主机名称:" + System.Net.Dns.GetHostName ( ) ; // 显示本机的计算机名称 label2.Text = "IP 地址:" + getIPAddress ( ) ; // 显示本机的局域网IP地址 label1.Size = new System.Drawing.Size ( 200 , 50 ) ; label2.Size = new System.Drawing.Size ( 200 , 80 ) ; //设定标签的大小 label1.TabIndex = 0 ; label2.TabIndex = 1 ; label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ; label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ; // 设定标签的对齐方式 this.Text = "获得主机名称和IP地址!" ; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent ; this.AutoScaleBaseSize = new System.Drawing.Size ( 8 , 16 ) ; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D ; // 设定窗体的边界类型 this.ForeColor = System.Drawing.SystemColors.Desktop ; this.Font = new System.Drawing.Font ( "宋体" , 10 , System.Drawing. FontStyle .Bold ) ; // 设定字体、大小就字体的式样 this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide ; this.ClientSize = new System.Drawing.Size ( 250 , 250 ) ; //把标签加到窗体中 this.Controls.Add ( this.label1 ) ; this.Controls.Add ( this.label2 ) ; } private static string getIPAddress ( ) { System.Net.IPAddress addr; // 获得本机局域网IP地址 addr = new System.Net.IPAddress ( Dns.GetHostByName ( Dns.GetHostName ( ) ) .AddressList [0].Address ) ; return addr.ToString ( ) ; } } 在经过以下编译命令编译后, csc /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll /t: winex eip01.cs 得到ip01.exe文件,此文件就可以读取本地固定的IP地址。以下是执行后的界面: 图01:读取计算机名称和固定IP地址 五.读取计算机名称和拨号上网动态分配的IP地址源程序 在前面已经说了,GetHostByName ( )方法的返回值时 this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide ; 在ip01.cs中AddressList [0].Address是固定的IP地址,而对于上网动态分配的 IP地址 是.AddressList [1].Address。据此我们可以的得到读取拨号上网动态分配的IP地 址的 源程序: IP02.cs源程序: //导入程序用到的名称空间 using System ; using System.Net; using System.Windows.Forms ; using System.Drawing ; public class Form3 : Form { //定义二个标签 private Label label1 ; private Label label2 ; public static void Main ( ) { Application.Run ( new Form3 ( ) ) ; } // 构造窗体 public Form3 ( ) { // 建立标签并且初始化 this.label1 = new System.Windows.Forms.Label ( ) ; this.label2 = new System.Windows.Forms.Label ( ) ; //先继承一个Label 类 label1.Location = new System.Drawing.Point ( 24 , 16 ) ; label2.Location = new System.Drawing.Point ( 44 , 36 ) ; //设定 Label的显示位置 label1.Text = "主机名称:" + System.Net.Dns.GetHostName ( ) ; // 显示本机的计算机名称 label2.Text = "IP 地址:" + getIPAddress ( ) ; // 显示本机的拨号动态分配IP地址 label1.Size = new System.Drawing.Size ( 200 , 50 ) ; label2.Size = new System.Drawing.Size ( 200 , 80 ) ; //设定标签的大小 label1.TabIndex = 0 ; label2.TabIndex = 1 ; label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ; label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ; // 设定标签的对齐方式 this.Text = "? public Form3 ( ) { // 建立标签并且初始化 // 设定窗体的边界类型 this.ForeColor = System.Drawing.SystemColors.Desktop ; this.Font = new System.Drawing.Font ( "宋体" , 10 , System.Drawing. FontStyle .Bold ) ; // 设定字体、大小就字体的式样 this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide ; this.ClientSize = new System.Drawing.Size ( 250 , 250 ) ; //把标签加到窗体中 this.Controls.Add ( this.label1 ) ; this.Controls.Add ( this.label2 ) ; } private static
评论
    相关推荐
    • yuqix_datum.rar
      i2cinterface.v是我自己写的一段verilog代码,在接口为I2C接口的芯片设计中用到。送去流过片,仅作参考用。 debussy和modelsim协同仿真.txt 用于debussy和modelsim协同仿真时参考 RTL Coding and Optimization...
    • 3DES加密算法源代码.rar
      DES加密源代码,用3DES加密算法。 加密强度高,到目前为止,还无人能够破解!
    • crc.zip
      CRC校验程序,使用了CRC-16和CRC-CCITT方法
    • rsa1.03.zip
      rsa算法实现,包含文档
    • fast-des3.0.tar.z
      des算法实现源码
    • des3_win32_vc.zip
      一个3des算法的库文件和使用库文件的例子
    • dcpcrypt.zip
      Delphi加密控件源码,包括对称钥匙加密控件和散列函数控件
    • rc.zip
      含有rc2、rc4、rc5、rc6算法的rc算法集合
    • oicqpass.zip
      读取OICQ用户保存在本地机器上的密码
    • elgamal.zip
      另一种公开密钥加密算法的Pascal实现和例子。实现了签名和确认