找回密码
 加入
搜索
查看: 6152|回复: 11

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

    [复制链接]
发表于 2010-4-11 13:19:39 | 显示全部楼层 |阅读模式
想法是分为服务端和客户端,
在服务端上能看到所连接上的电脑,可以时时监控

希望大侠们能给点提示,或源码。
实在找不到例子,没得任何思路
发表于 2010-4-11 14:13:48 | 显示全部楼层
灰鸽子那样似的?
发表于 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
我想可以借用这个。
 楼主| 发表于 2010-4-15 23:53:56 | 显示全部楼层
我只要桌面监控就可以了,其它功能可以不要
发表于 2010-4-16 00:19:03 | 显示全部楼层
我试着写一个
 楼主| 发表于 2010-4-16 00:26:25 | 显示全部楼层
好啊,我是一点头绪也没有哦
发表于 2010-4-16 00:34:58 | 显示全部楼层
回复 7# gyuwlsz

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-4-16 00:48:38 | 显示全部楼层
老大我是要源码呀,你给我做好了的也没有用呀,我是想学习一下
发表于 2010-4-16 00:57:37 | 显示全部楼层
本帖最后由 dtooboss 于 2010-4-16 01:15 编辑
回复  gyuwlsz

你先测试下看看有没有问题。
dtooboss 发表于 2010-4-16 00:34


服务端源码
#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   
在需要监控的机器上运行 服务端

在你的机器上运行 客户端

评分

参与人数 1金钱 +30 贡献 +2 收起 理由
afan + 30 + 2

查看全部评分

 楼主| 发表于 2010-4-16 01:06:10 | 显示全部楼层
谢谢了
发表于 2020-2-20 14:36:55 | 显示全部楼层
dtooboss 发表于 2010-4-16 00:57
服务端源码客户端源码在需要监控的机器上运行 服务端

在你的机器上运行 客户端

干不了坏事了, 给个全的吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 15:43 , Processed in 0.089346 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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