運行VB6,向窗體添加7個Label控件、1個Timer控件、3個Text文本輸入框以及4個Command按鈕。
原理簡介:用Timer控件的True或者False值,控制倒計時的開始,當到達設定時間的時候,彈出對話框提示斷開連接。
OptionExplicit
DimHoursAsInteger
DimMinutesAsInteger
DimSecondsAsInteger
DimtimeAsDate
PrivateDeclareFunctionRasHangUpLib"RasApi32.dll"Alias"RasHangUpA"(ByValhRasConnAsLong)AsLong
PrivateDeclareFunctionRasEnumConnectionsLib"RasApi32.dll"Alias"RasEnumConnectionsA"(lprasconnAsAny,lpcbAsLong,lpcConnectionsAsLong)AsLong
ConstRAS95_MaxEntryName=256
ConstRAS95_MaxDeviceName=128
ConstRAS_MaxDeviceType=16
PrivateTypeRASCONN95
dwSizeAsLong
hRasConnAsLong
szEntryName(RAS95_MaxEntryName)AsByte
szDeviceType(RAS_MaxDeviceType)AsByte
szDeviceName(RAS95_MaxDeviceName)AsByte
EndType
下面一段代碼是對Timer的控制,以及到設定時間的時候斷開連接的代碼
PrivateSubTimer1_Timer()
Timer1.Enabled=False
If(Format100100time,"hh")&&":"&&Format100100time,"nn")&&":"&&Format100100time,"ss"))〈〉"00:00:00"Then
time=DateAdd("s",-1,time)
Label1.Visible=False
Label1.Caption=Format100100time,"hh")&&":"&&Format100100time,"nn")&&":"&&Format100100time,"ss")
Label1.Visible=True
Timer1.Enabled=True
Else
Timer1.Enabled=False
EndIf
IfLabel1.Caption="00:00:01"Then
dsdklj.WindowState=0
Command1.Enabled=True
MsgBox"時間到了,正在斷開連接"
DimlngRetCodeAsLong
DimlpcbAsLong
DimlpcConnectionsAsLong
DimintArraySizeAsInteger
DimintLooperAsInteger
ReDimlprasconn95(intArraySize)AsRASCONN95
lprasconn95(0).dwSize=412
lpcb=256*lprasconn95(0).dwSize
lngRetCode=RasEnumConnections(lprasconn95(0),lpcb,lpcConnections)
IflngRetCode=0Then
IflpcConnections〉0Then
ForintLooper=0TolpcConnections-1
RasHangUplprasconn95(intLooper).hRasConn
NextintLooper
UnloadMe
Else
MsgBox"時間到了,沒有撥號網絡連接"
UnloadMe
EndIf
EndIf
EndIf
EndSub
其實,這個程序還可以進一步的完善,比如添加暫停功能、或者經過改造,適用於寬帶的,等等。這不,笨笨拿著電話單正偷著樂呢!笨笨已經利用這個小程序省下了不少網費,你呢?->