gyuwlsz 发表于 2010-4-11 13:19:39

如何用AU3写远程桌面监控,在百度一点关于AU3桌面的也没找到

想法是分为服务端和客户端,
在服务端上能看到所连接上的电脑,可以时时监控

希望大侠们能给点提示,或源码。
实在找不到例子,没得任何思路

xiaochuan 发表于 2010-4-11 14:13:48

灰鸽子那样似的?:face (31):

itljl 发表于 2010-4-11 15:35:02

我见过一个,这个样子的吗?
http://bbs.wglm.net/read.php?tid=106855

心照不宣 发表于 2010-4-11 15:49:47

D:\Program Files\能穿透内网的远程控制\TeamViewer V3.0.3571
我想可以借用这个。

gyuwlsz 发表于 2010-4-15 23:53:56

我只要桌面监控就可以了,其它功能可以不要

dtooboss 发表于 2010-4-16 00:19:03

我试着写一个

gyuwlsz 发表于 2010-4-16 00:26:25

好啊,我是一点头绪也没有哦

dtooboss 发表于 2010-4-16 00:34:58

回复 7# gyuwlsz

你先测试下看看有没有问题。

gyuwlsz 发表于 2010-4-16 00:48:38

老大我是要源码呀,你给我做好了的也没有用呀,我是想学习一下

dtooboss 发表于 2010-4-16 00:57:37

本帖最后由 dtooboss 于 2010-4-16 01:15 编辑

回复gyuwlsz

你先测试下看看有没有问题。
dtooboss 发表于 2010-4-16 00:34 http://www.autoitx.com/images/common/back.gif

服务端源码#include <ScreenCapture.au3>
#include <File.au3>
TCPStartup()
Global $TCPListen = TCPListen(@IPAddress1, 3825)
_ScreenCapture_SetJPGQuality(30)
$ScreenshotName = _TempFile(@TempDir, "test", ".jpg")
While 1
        Do
                $TCPAccept = TCPAccept($TCPListen)
                Sleep(100)
        Until $TCPAccept <> -1
        While True
                Sleep(50)
                _ScreenCapture_Capture($ScreenshotName)
                $ScreenshotHandle = FileOpen($ScreenshotName, 16)
                $data = FileRead($ScreenshotHandle)
                FileClose($ScreenshotHandle)
                $data = NumtoBin(BinaryLen($data)) & $data
                TCPSend($TCPAccept, $data)
                If @error Then
                        ExitLoop
                EndIf
        WEnd

        Sleep(50)

WEnd

防止干坏事省去六行
客户端源码#include<GDIPlus.au3>
#include<GuiConstantsex.au3>
#include <File.au3>
Opt("GUIONEVENTMODE", 1)
_GDIPlus_Startup()
TCPStartup()
$hGUI = GUICreate("test", 1024, 768)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
GUISetState()
$Sip = InputBox("提示", "请输入远程机器的ip地址", "")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$ScreenshotName = _TempFile(@TempDir, "test", ".jpg")

While 1
        Sleep(50)
        Global $TCPConnect = TCPConnect($Sip, 3825)
        If $TCPConnect = -1 Then ContinueLoop
        $TCPRecv = Binary("")
        $timer = TimerInit()
        While 1
                Sleep(50)
                Local $k = TCPRecv($TCPConnect, 20000000, 0)
                If @error Then
                        ExitLoop
                EndIf
                If $k Then
                        $TCPRecv = $TCPRecv & $k
                        If BinaryLen($TCPRecv) < 4 Then ContinueLoop
                        If BinaryLen($TCPRecv) >= BintoNum(BinaryMid($TCPRecv, 1, 4)) + 4 And BintoNum(BinaryMid($TCPRecv, 1, 4)) + 4 > 0 Then
                                $ScreenshotHandle = FileOpen($ScreenshotName, 18)
                                FileWrite($ScreenshotHandle, BinaryMid($TCPRecv, 5))
                                FileClose($ScreenshotHandle)
                                $hBitmap = _GDIPlus_BitmapCreateFromFile($ScreenshotName)
                                _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 1024, 768)
                                _GDIPlus_BitmapDispose($hBitmap)
                                FileDelete($ScreenshotName)
                                $TCPRecv = BinaryMid($TCPRecv, 5 + BintoNum(BinaryMid($TCPRecv, 1, 4)))
                                $timer = TimerInit()
                        EndIf
                EndIf
        WEnd
WEnd

防止干坏事省去六行

Func quit()
        Exit
EndFunc   在需要监控的机器上运行 服务端

在你的机器上运行 客户端

gyuwlsz 发表于 2010-4-16 01:06:10

谢谢了:face (34):

anythinging 发表于 2020-2-20 14:36:55

dtooboss 发表于 2010-4-16 00:57
服务端源码客户端源码在需要监控的机器上运行 服务端

在你的机器上运行 客户端

干不了坏事了, 给个全的吧
页: [1]
查看完整版本: 如何用AU3写远程桌面监控,在百度一点关于AU3桌面的也没找到