仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 617|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之ASP取得网卡的MAC地点

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:41:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP脚本是采用明文(plaintext)方式来编写的。<%OptionExplicit%>

<%
PrivateConstNCBASTAT=&H33
PrivateConstNCBNAMSZ=16
PrivateConstHEAP_ZERO_MEMORY=&H8
PrivateConstHEAP_GENERATE_EXCEPTIONS=&H4
PrivateConstNCBRESET=&H32

PrivateTypeNCB
ncb_commandAsByteInteger
ncb_retcodeAsByteInteger
ncb_lsnAsByteInteger
ncb_numAsByteInteger
ncb_bufferAsLongString
ncb_lengthAsInteger
ncb_callnameAsString*NCBNAMSZ
ncb_nameAsString*NCBNAMSZ
ncb_rtoAsByteInteger
ncb_stoAsByteInteger
ncb_postAsLong
ncb_lana_numAsByteInteger
ncb_cmd_cpltAsByteInteger
ncb_reserve(9)AsByteReserved,mustbe0
ncb_eventAsLong
EndType
PrivateTypeADAPTER_STATUS
adapter_address(5)AsByteAsString*6
rev_majorAsByteInteger
reserved0AsByteInteger
adapter_typeAsByteInteger
rev_minorAsByteInteger
durationAsInteger
frmr_recvAsInteger
frmr_xmitAsInteger
iframe_recv_errAsInteger
xmit_abortsAsInteger
xmit_successAsLong
recv_successAsLong
iframe_xmit_errAsInteger
recv_buff_unavailAsInteger
t1_timeoutsAsInteger
ti_timeoutsAsInteger
Reserved1AsLong
free_ncbsAsInteger
max_cfg_ncbsAsInteger
max_ncbsAsInteger
xmit_buf_unavailAsInteger
max_dgram_sizeAsInteger
pending_sessAsInteger
max_cfg_sessAsInteger
max_sessAsInteger
max_sess_pkt_sizeAsInteger
name_countAsInteger
EndType
PrivateTypeNAME_BUFFER
nameAsString*NCBNAMSZ
name_numAsInteger
name_flagsAsInteger
EndType
PrivateTypeASTAT
adaptAsADAPTER_STATUS
NameBuff(30)AsNAME_BUFFER
EndType

PrivateDeclareFunctionNetbiosLib"netapi32.dll"_
(pncbAsNCB)AsByte
PrivateDeclareSubCopyMemoryLib"kernel32"Alias"RtlMoveMemory"(_
hpvDestAsAny,ByValhpvSourceAsLong,ByValcbCopyAsLong)
PrivateDeclareFunctionGetProcessHeapLib"kernel32"()AsLong
PrivateDeclareFunctionHeapAllocLib"kernel32"_
(ByValhHeapAsLong,ByValdwFlagsAsLong,_
ByValdwBytesAsLong)AsLong
PrivateDeclareFunctionHeapFreeLib"kernel32"(ByValhHeapAsLong,_
ByValdwFlagsAsLong,lpMemAsAny)AsLong

PublicFunctionGetMACAddress(sIPAsString)AsString
DimsRtnAsString
DimmyNcbAsNCB
DimbRetAsByte

DimaIP()AsString
DimxAsLong
DimnIPAsString

IfInStr(sIP,".")=0Then
GetMACAddress="有效的IP地点."
ExitFunction
EndIf

aIP=Split(sIP,".",-1,vbTextCompare)
IfUBound(aIP())3Then
GetMACAddress="有效的IP地点."
ExitFunction
EndIf

Forx=0ToUBound(aIP())
IfLen(aIP(x))>3Then
GetMACAddress="有效的IP地点"
ExitFunction
EndIf

IfIsNumeric(aIP(x))=FalseThen
GetMACAddress="有效的IP地点"
ExitFunction
EndIf

IfInStr(aIP(x),",")0Then
GetMACAddress="有效的IP地点"
ExitFunction
EndIf

IfCLng(aIP(x))>255Then
GetMACAddress="有效的IP地点"
ExitFunction
EndIf

IfnIP=""Then
nIP=String(3-Len(aIP(x)),"0")&aIP(x)
Else
nIP=nIP&"."&String(3-Len(aIP(x)),"0")&aIP(x)
EndIf
Next

sRtn=""
myNcb.ncb_command=NCBRESET
bRet=Netbios(myNcb)
myNcb.ncb_command=NCBASTAT
myNcb.ncb_lana_num=0
</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
不帅 该用户已被删除
沙发
发表于 2015-1-18 08:40:52 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-21 13:49:03 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
小女巫 该用户已被删除
地板
发表于 2015-1-27 08:43:13 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
乐观 该用户已被删除
5#
发表于 2015-2-5 03:45:33 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
飘灵儿 该用户已被删除
6#
发表于 2015-2-11 03:03:28 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-10 23:01:17 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
再见西城 该用户已被删除
8#
发表于 2015-3-17 15:48:44 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-24 10:14:54 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 03:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表