如何判断计算机是否通过“猫”连接到互联网?

audrey0512 2003-08-21 10:13:33
最好有源代码
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TechnoFantasy 2003-08-21
  • 打赏
  • 举报
回复
检测是否连接到Internet以及是通过何种方式(Modem,LAN,Proxy)连接到Internet的:
http://www.applevb.com/sourcecode/connect_to_net.zip
liul17 2003-08-21
  • 打赏
  • 举报
回复
若不行给个email发个例子给你
liul17 2003-08-21
  • 打赏
  • 举报
回复
将上面代码粘到模块中,将上面代码粘到窗体中(画个commandbutton)即可

Private Sub Command1_Click()
If Fun_TestOnline = True Then
MsgBox "上网"
Else
MsgBox "没上"

End If
End Sub
liul17 2003-08-21
  • 打赏
  • 举报
回复
忘了声明部分

Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_MOVE = &H1
Private Const SM_X = 0
Private Const SM_Y = 1
Private Const TWIPS_PER_INCH = 1440
Private Const POINTS_PER_INCH = 72

Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40

Private Enum enumStyle
sPixel
sTwip
sInch
sPoint
End Enum

Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4

Private Const TOKEN_ADJUST_PRIVILEGES = &H20
Private Const TOKEN_QUERY = &H8
Private Const SE_PRIVILEGE_ENABLED = &H2
Private Const ANYSIZE_ARRAY = 1

Private Const VER_PLATFORM_WIN32_NT = 2 '操作系统类型( 2-NT )
Dim ret As Long
Dim Flags As Long

Public Type OSVERSIONINFO
dwOSVersionInfoSize As Long '结构的大小(148)<在正式调用函数之前,必须先将这个结构的dwOSVersionInfoSize字段设为结构的大小(148)>
dwMajorVersion As Long '主版本号
dwMinorVersion As Long '次版本号
dwBuildNumber As Long '生成号
dwPlatformId As Long '操作系统类型( 1-95/98 ; 2-NT )
szCSDVersion As String * 128 '版本号(形如'第几版')
End Type

Private Type LUID
LowPart As Long
HighPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type

'获取当前进程的一个伪句柄
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long

Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long

Private Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long

Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long

'  API
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long


Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

'要在 VB 程序中中断【拨号网路连线】,可以使用 Remote Access Services Hangup 函数:

'在模组的声明区中加入以下声明及模组:

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MaxDeviceType As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Const ERROR_SUCCESS = 0&

Public Type RasEntryName
dwSize As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
End Type

Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Const RAS95_MaxEntryName = 256
Const RAS95_MaxDeviceName = 128

Public Type RASCONN95
dwSize As Long '设置 dWsize 值为 412
hRasConn As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long

Public gstrISPName As String
Public ReturnCode As Long

Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long

可能多了点,有做其它用的。
dandy1437 2003-08-21
  • 打赏
  • 举报
回复
先建立一个模块
Option Explicit

'API defination
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Long

'Consts
Public Const SW_SHOW = 5

Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Public Const WS_MAXIMIZEBOX = &H10000
Public Const WS_THICKFRAME = &H40000

Public Const GWL_STYLE = (-16)


Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (IpRasCon As Any, Lpcb As Long, LpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, LpStatus As Any) As Long

Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32 '

Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
Exit Function
End If
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If

End Function

在不判断的窗体里面
Private Sub Timer1_Timer()
If IsConnected = True Then
TLink = True
End If
If IsConnected = False Then
TLink = False
End If
End Sub
Private Sub Command4_Click()
If TLink = False Then
MsgShow "您的计算机还没有连接到互联网" & vbCrLf & _
"请先连接互联网"
Exit Sub
End If
End Sub
liul17 2003-08-21
  • 打赏
  • 举报
回复

'启动拨号网络
'利用RasEnumConnections函数,就可以得到所需拨号网络连接的句柄
'---------------------------------------------------------------


'------------------------------------------------------------------
'函数:用拨号网络的函数RasEnumConnections 检测是否正在连上Internet
'------------------------------------------------------------------
Public Function Fun_TestOnline() As Boolean
Dim lngRetCode As Long, lpcb As Long, lpcConnections As Long
Dim intArraySize As Integer, intLooper As Integer
ReDim lprasconn95(intArraySize) As RASCONN95

Fun_TestOnline = False
lprasconn95(0).dwSize = 412
lpcb = 256 * lprasconn95(0).dwSize
lngRetCode = RasEnumConnections(lprasconn95(0), lpcb, lpcConnections)

If lngRetCode = 0 Then '检测是否正在连上Internet
If lpcConnections > 0 Then
Fun_TestOnline = True '已经连上网
Else
Fun_TestOnline = False '没有连上网
End If
End If
End Function
网络基础知识大全 1 网络常用基础知识: 3 1)如何查看本机所开端口: 3 2)如何获得一个IP地址的主机名? 3 3)如何查看本机的ip地址? 3 4)再使用net命令的时候遇到一些错误代码,如何查看对应的错误信息? 4 5)利用telnet连接到对方主机上,想获得一些系统信息,用什么命令? 4 6)跟踪路由器的命令是什么? 4 7)简单介绍一下cookie! 4 8)安装2000的时候,速度会特别特别特别慢,怎么加快安装速度呢? 5 9)Windows2K密码忘记了,如何才能进入系统? 5 10)ping不到,tracert不到,但是却能用nbtstat显示对方的一些信息,为什么? 5 11)telnet上去后,如何给对方开共享? 5 12)如何判断对方的具体操作系统版本? 5 13)如何查看98的随机启动的程序? 6 14)设置了BIOS密码,可是却忘记了,该怎么办? 6 15)如何自制一个让98蓝屏的炸弹? 6 16)如何再命令行下杀死对方进程? 7 17)上次说了ping的基本用法,这次谈谈ping的命令参数! 7 18)如何查看本机的DNS服务器? 8 19)肉鸡上的部分文件无法删除,怎么办? 8 20)再说一个可以限制用户登陆时间的命令! 8 22)如何删除windows2K的默认贡献? 8 23)139端口的又一用法 9 24)利用批处理文件来建立一个记录3389登陆者信息的记录器 10 25)网络命令小节 10 26)这里我必须(或者说不得不重新重申一个命令!不过说之前我要把这个命令的相关命令稍微介绍一下!) 12 27)关于双系统的两个问题: 12 28)这里说几个主页恶意代码:『并不是让大家把这些代码加入到自己的主页中!只是希望大家能了解恶意代码,起到更好的防护作用!』 13 29)系统自带的系统工具 14 30)批处理在入侵中的几则妙用! 15 31)再说几个非常简单实用的DOS命令(工具): 15 32)ping命令的其他技巧: 17 局域网应用问题专题解答 (Rayi々) 18 1、问:我访问局域网中的计算机时,为什么常常被提示要输入用户名和密码? 18 2、问:上网浏览前在局域网中应如何对IE进行设置? 18 3、问:在局域网中应如何设置OutLook Express收发邮件? 18 4、问:在由三台电脑组成的局域网中,我在其中一台电脑上用过Windows优化大师后,为什么这台电脑就不能登录网络,并且还提示找不到拨号适配器? 18 5、问:如何在局域网中设置QQ、ICQ等即时通讯软件? 18 6、问:我想用NetMeeting进行局域网中的通话,应该如何设置? 19 7、问:我知道在局域网内文件是可以共享的,但我想问的是,打印机和扫描仪应该如何共享? 19 8、我用分机线上网,上网速度最大才48000bps,请问是何原因? 还有,将Modem放在主机箱侧面,开机后(未打开Modem电源),家里的电话就处于忙音状态,如何解决? 19 9、我新购的网卡在电脑上无法安装,而在其他电脑上却使用正常,这是怎么回事? 19 10、我的电脑出现“网上邻居”中找不到其他联网电脑的故障,如何解决? 20 11、问:公司局域网,只有一台机器通过接入互联网,现想其他机器接入互联网,请问如何实现? 20 12、问:局域网通过路由器、使用ADSL方式上网,如何使各工作站快速的获得可以上网的IP地址而不手工去指定? 20 13、问:公司要组建局域网,需要用到邮件服务器和WWW服务器,请问这两种服务放到一台电脑里还是分别用两台电脑?都用什么软件?谢谢! 20 14、问:家里原先有一台PII的计算机,最近又新增一台P4机器,操作系统都为Windows 98且已安装网卡,现在我想把他们联起来共享资源,该怎么办? 20 15、问:办公室机器桌面的“网上邻居”图标没了,能上Internet,但无法浏览其他机器上的资源了,怎么办? 21 16、问:办公室机器桌面的网上邻居图标解决了且也能浏览其他机器的共享资源了,但发现右键中的“共享”命令没了!怎么办? 21 17、问:右键中的“共享”命令已经显身!但我设了共享不想让别人从网上邻居中看到这个共享目录,只有自己知道且能实现异地机上有完全操作的权限。 21 18、问:一块PCI总线的10/100自适应网卡,无法正常工作。主要表现在网络时断时续,不管是不是Ping自己的IP地址,还是Ping对方的IP地址,都有这种情况发生。查看网卡的指示灯也出现同样的现象。 21 19、问:我的电脑与一个对等网连接好了,但不能读别人电脑上的数据,这是怎么回事? 21 20、问:我的网络从集线器升级为交换机后,感觉速度并没有多大提高,是什么原因? 22 21、问:VLAN是什么意思,使用它有什么好处? 22 22、问:我的自适应网卡只有红灯闪烁,绿灯不亮,这种情况正常吗? 22 23、问:如何使用交换机的UpLink端口,怎样连接?使用了UpLink口后,是否还可以使用其相邻最近的端口? 22 24、问:我在安装网卡后,在“系统→设备管理器”中网卡出现黄色的“!”号,请问该如何解决? 23 25.问:ADSL上网网页打不开的问题? 23

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧