给你个工程自己看...
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的龙游网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
运行后可以看到自己...
点按钮保存到c:\1.bmp
借用目前国内外最流行的远程控制软件平台,比如网络人远程控制软件,无需做端口映射即可穿透任何内网,对局域网内的任意电脑进行远程控制、屏幕监控、视频监控、文件管理、系统进程观察等等操作;是远程服务器高效管理的必备工具。点此下载免费使用。
2
有服务器上操作系统的账号、密码以及该服务器的ip地址。如果是管理员组的账号,可以考虑用telnet登陆该服务器,条件是该服务器开telnet服务。在cmd下,用命令操作。
'项目名称: Client (远程屏幕监控端)
'窗口名称: FrmClient
'WinSock控件:Ws2Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Declare Function GetObj Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private MyHdc1 As Long, MyBmp1 As Long, MyOldBmp1 As Long, ScrW As Long, ScrH As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Const REG_SZ = 1
Private Const HKEY_LOCAL_MACHINE = H80000002
Private Const REG_DWORD = 4
Private StartT As SinglePrivate Sub Form_Load()
On Error Resume Next
Dim bm As BITMAP, BmpSize As Long
Timer1.Enabled = False '间隔时间获取图形
Me.ScaleMode = 3
ScrW = Screen.Width \ Screen.TwipsPerPixelX
ScrH = Screen.Height \ Screen.TwipsPerPixelY
'这只是方便调试的示例,实用程序中,不用临时DC,可直接取窗体的BMP,会快一些
MyHdc1 = CreateCompatibleDC(FrmClient.hdc)
MyBmp1 = CreateCompatibleBitmap(FrmClient.hdc, ScrW, ScrH)
MyOldBmp1 = SelectObject(MyHdc1, MyBmp1)
Ws2.RemoteHost = "192.0.0.3" '这个IP地址是编造的,实际使用时改成对方IP即可
Ws2.RemotePort = 9999
Ws2.Connect
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Ws2.Close
SelectObject MyHdc1, MyOldBmp1
DeleteObject MyBmp1
DeleteDC MyHdc1
End Sub
Private Sub Timer1_Timer()
Dim i As Long, d As Long, b As Long, bm As BITMAP, dat() As Byte, BmpSize As Long
StartT = Timer
d = GetDesktopWindow
i = GetDC(d)
BitBlt MyHdc1, 0, 0, ScrW, ScrH, i, 0, 0, vbSrcCopy
ReleaseDC d, i
GetObj MyBmp1, Len(bm), bm
BmpSize = bm.bmWidthBytes * bm.bmHeight
ReDim dat(BmpSize - 1)
GetBitmapBits MyBmp1, BmpSize, dat(0)
ReDim Preserve dat(BmpSize + 1)
dat(BmpSize) = 13
dat(BmpSize + 1) = 10
StartT = Timer
On Error Resume Next
Ws2.SendData dat 'dat为获取到的屏幕图形数据
End SubPrivate Sub Ws2_Close()
Ws2.Close
Unload Me
End SubPrivate Sub Ws2_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Ws2.Close
Unload Me
End Sub 再新建一个工程'项目名称: Server (本地)
'窗口名称: FrmServer
'WinSock控件:Ws1
'StatusBar控件:StatusBar1 (注意:StatusBar1.Style = sbrSimple)Option Explicit
Private Type BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Private Declare Function GetObj Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private ScrW As Long, ScrH As Long
Private MyHdc As Long, MyBmp As Long, MyOldBmp As Long, BmpDat() As Byte, RevByte As Long
Private StartT As Single
Private Sub Form_Load()
Dim bm As BITMAP, BmpSize As Long
On Error GoTo Err
Me.ScaleMode = 3
ScrW = Screen.Width \ Screen.TwipsPerPixelX
ScrH = Screen.Height \ Screen.TwipsPerPixelY
'这只是方便调试的示例,实用程序中,不用临时DC,可直接取窗体的BMP,会快一些
MyHdc = CreateCompatibleDC(FrmServer.hdc)
MyBmp = CreateCompatibleBitmap(FrmServer.hdc, ScrW, ScrH)
MyOldBmp = SelectObject(MyHdc, MyBmp)
GetObj MyBmp, Len(bm), bm
BmpSize = bm.bmWidthBytes * bm.bmHeight
ReDim BmpDat(BmpSize - 1)
GetBitmapBits MyBmp, BmpSize, BmpDat(0)
Ws1.LocalPort = 9999
Ws1.Listen
Exit Sub
Err:
MsgBox Error
End Sub
Sub getscreen()
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Ws1.Close
SelectObject MyHdc, MyOldBmp
DeleteObject MyBmp
DeleteDC MyHdc
End Sub
Private Sub WS1_Close()
StatusBar1.SimpleText = Ws1.RemoteHostIP " Disconnected"
Ws1.Close
If Ws1.State = sckListening Then
Ws1.Close
Else
Ws1.LocalPort = 9999
Ws1.Listen
End If
End Sub
Private Sub Ws1_ConnectionRequest(ByVal requestID As Long)
If Ws1.State sckClosed Then Ws1.Close
StatusBar1.SimpleText = Ws1.RemoteHostIP " Connecting.."
Ws1.Accept requestID
If Ws1.State = 7 Then StatusBar1.SimpleText = Ws1.RemoteHostIP " Connected"
End Sub
Private Sub Ws1_DataArrival(ByVal bytesTotal As Long)
Dim dat() As Byte, i As Long
On Error Resume Next
Ws1.GetData dat, vbArray Or vbByte
i = InStrB(1, dat, ChrB(13) ChrB(10))
If i 0 Then
StartT = Timer
If i 1 Then CopyMemory BmpDat(RevByte), dat(0), i - 1
SetBitmapBits MyBmp, UBound(BmpDat) + 1, BmpDat(0)
RevByte = 0
'实用程序中,不用临时DC,下面一步可省
BitBlt Me.hdc, 0, 0, Me.ScaleWidth, Me.ScaleHeight, MyHdc, 0, 0, vbSrcCopy
Me.Caption = Timer - StartT
If bytesTotal i + 1 Then
RevByte = bytesTotal - i - 1
CopyMemory BmpDat(0), dat(i + 1), RevByte
End If
Else
CopyMemory BmpDat(RevByte), dat(0), bytesTotal
RevByte = RevByte + bytesTotal
End If
End Sub
Private Sub WS1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
StatusBar1.SimpleText = ("Error : " Description)
End Sub
一定要注意要先运行Servers 即 后一个工程!
如何在局域网中实现屏幕监控?很多企业都有这个需求,就使用超级眼屏幕监控监控软件,来实现这一功能。除此之外,这款监控软件还可以键盘输入记录,网址访问记录,流量记录,文件操作记录,聊天记录监控等。如何轻松实现局域网电脑屏幕监控?下面我们来了解!
下面是局域网屏幕监控,给大家演示局域网电脑屏幕监控的方法:
1.我们在百度搜索输入局域网屏幕监控找到超级眼电脑屏幕监控软件,选择下载到电脑上,监控软件分为管理端和被控端。我们先安装管理端到管理者电脑上,无需设置一键安装就可以了。
2.将被控端,解压到员工电脑上,并且安装。一键安装,无其它设置,安装完成后,重启电脑即可,自动开机隐蔽运行。
3.在管理端上,输入软件商提供的账号密码登录,可自行修改密码。在管理端界面上,点击“扫描”,在左侧可以看到在线或者离线的被控端。
4.管理端上,选择在线被控电脑,在功能界面进行操作,单个员工监控时,点击“屏幕监控”,多个员工监控,点击“多屏幕监控”,这样就可以看到员工电脑的电脑屏幕实时画面,也就是电脑屏幕监控。
5.怎么卸载软件,被控端是隐蔽运行的,被控电脑无权限卸载,需要在管理端电脑上,选择对应的被控端,右键进行卸载。管理端,直接在管理者电脑上自行卸载就可以了。