我是第一次作winform实在被搞晕了,哪位高手指点一下。
我的程序只有一个小小的功能,取客户端mac地址。我发布时,居然在客户那边电脑上要安framework2.0,这个太大了,怎么发布能最小安装,谢谢。
1. DotNet 的正常途径必须安装 2.0,可以找免安装的第三方资源,下面的不同方法总有一个适合你;
2.发布时,让可以自己安装,反正只安装一次嘛,以后都Windows 7 了,就不用了.
3.换语言实现.
不可以!.net就是在framework2.0 类库基础上做开发的,代码是托管的。就好像你用的那些方法都是已经封装好的类..你不安装的话..怎么用这些方法啊。其他的语言.也都是带有类库的,区别只是类库的大小而已。
用.net写小程序,是得不偿失的。它主要是用在一些大型的项目上。c#主要强大的是在web上面
这个开发前就该想到的啊,不过你取个MAC地址吗,换个方法不就可以了吗。
用WMI吧,简单就搞定了:
WMI Get MAC Address and NIC info
Keywords: WMI Get MAC Address and NIC info
ComputerName = "Peanuts"
Locator = ObjectOpen("WbemScripting.SWbemLocator")
Service = Locator.ConnectServer(ComputerName)
Security = Service.Security_
Security.ImpersonationLevel = 3
Adapters = Service.InstancesOf("CIM_NetworkAdapter")
hEnum = ObjectCollectionOpen(Adapters)
swNameList=""
While 1
Nic = ObjectCollectionNext(hEnum)
If Nic == 0 Then Break
AdapterType = Nic.AdapterType
Caption = Nic.Caption
Manufacturer = Nic.Manufacturer
MACAddress = Nic.MACAddress
Status = Nic.Status ;
Name = Nic.Name ;
PermanentAddress = Nic.PermanentAddress ;
Line = StrCat("AdapterType: ",AdapterType ,@crlf,"Caption: ",Caption ,@crlf,"Manufacturer: ",Manufacturer,@crlf,"MACAddress: ",MACAddress,@crlf)
Line = StrCat(Line,"Name: ",Name,@crlf,"Status: ",Status,@crlf)
Message("",Line)
ObjectClose(Nic)
EndWhile
ObjectCollectionClose(hEnum)
ObjectClose(Adapters)
ObjectClose(Security)
ObjectClose(Service)
ObjectClose(Locator)
ipconfig /all->clientMac.txt这个好像也可以嘛...哈哈