Jump to content

Remote PC Monitor Viewer


daslick
 Share

Recommended Posts

  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

I don't think it would be that hard. I mean, Java can capture mouse clicks and where it clicked right? So just pass it through a submit or something that can be retrieved with _GetPost and call a MouseClick( ). Maybe evan make a new function in the WebBasedAutoIt to bypass the GetPost( ) step. That's half the problem done right there. Then for the other half Have a form on the bottom with an input box, then a submit button that says "Send" or somthing. The use _GetPost to get the data and do a Send( $post ). There, wouldn't be too hard.

[center][/center]Working on the next big thing.Currently Playing: Halo 4, League of LegendsXBL GT: iRememberYhslaw

Link to comment
Share on other sites

actually I am working on a client / server that allows u to send clicks... which I will share my code w/ eventually... but I still can't get the line to work. I don't get an error when pressing ALT+f5, but it doesn't output a screenshot either.

HELP?

Edited by daslick
Link to comment
Share on other sites

I got it to work... for some reason it only works when it is compiled.. ? is that normal?

If you mean screencapture func , then nope it's not normal, I'm using the function running your script from scite in beta autoit.

Hey,

I got it working! Its great but one thing is everytime it takes and displays a screenshot the image is placed in the middle and it gets smaller.

Now it works I can say you worked hard on it.

Thanks,

Secure

Edit: ok, this is what happens. When the page refreshes the original screenshot is made smaller but it isn't removed. Also your link is not working.

Edit2: The problem doesnt occur on FireFox! GET FIREFOX!

I'm using firefox and I get the image in image in image in image and so only when I view the the capture from the same pc that I'm running the server on. Reason for this is cause it's a bit like pointing a video camera that's plugged into a tv at the same tv it's plugged into.. Your looking a picture that's looking at itself .. infinate loop....

Use another pc to log into the server and you get the single picture refreshed at regular intervals..

On another note:

Be nice if you could use some form of frame server for animated gifs.. buffer the screen shots as gifs then just stream the updated frames. Then there'd be no refresh , you just watch a gif playing in the browser continually. ( I was only brain storming the idea and I don't think it's posible)

I started looking at avisynth as it has a TCPDeliver filter

The filter will enable you to send clips over your network. You can connect several clients to the same machine.

In combination with ImageReader / ImageSource filter I thought you may be able to stream 10 frames a second to a web browser. but it all just get's to complex for my understanding.

Be nice to be able to steam the images instead of refreshing the browser every so many secs.

Cheers

Edited by smashly
Link to comment
Share on other sites

To get stop the screen shot in screen shot i added a file delete call for the snapshot file.

I added it at line 23. Right between the else and the _ScreenCap_Capture call.

#include <A3LScreenCap.au3>
#include <GUIConstants.au3>
#include <Inet.au3>
TCPStartup()
If @error Then Exit
Global $recv, $output
$listen = TCPListen(@IPAddress1, 80, 20)
If $listen = -1 Then Exit
$snapfile = @ScriptDir & '\screenshot.jpg'
While 1
    $sock = TCPAccept($listen)
    $msg = GUIGetMsg()
    If $sock >= 0 Then
        $recv = _SockRecv($sock)
        If StringInStr($recv, "GET") Then $recv = _StringBetween($recv, "GET /", " HTTP/1.1")
        If $recv <> "" Then
            $file = FileOpen($snapfile, 0)
            If $file <> - 1 Then
                $output = FileRead($file)
            EndIf
            FileClose($file)
        Else
            If FileExists($snapfile) Then FileDelete($snapfile)
            _ScreenCap_Capture(@ScriptDir & "\screenshot.jpg")
            $output = '<html><meta http-equiv="refresh" content="2"><center><a href="screenshot.jpg"><img src="screenshot.jpg" alt="screenshot" height="95%"></a><BR>Time=' & @HOUR & ':' & @MIN & ':' & @SEC & '<BR></center></html>'
        EndIf
        TCPSend($sock, $output)
        TCPCloseSocket($sock)
    EndIf
    Sleep(100)
WEnd
Func _SockRecv($iSocket, $iBytes = 10000)
    Local $sData = ''
    While $sData = ''
        $sData = TCPRecv($iSocket, $iBytes)
    WEnd
    Return $sData
EndFunc
Func _StringBetween($string, $begin, $end)
    Local $_begin, $_end
    $_begin = StringSplit($string, $begin, 1)
    If Not @error Then
        $_end = StringSplit($_begin[2], $end, 1)
        If Not @error Then
            Return ($_end[1])
        EndIf
    EndIf
EndFunc
Link to comment
Share on other sites

Very cool work, people. I like the Auto3Lib version just because it doesn't need a DLL download. I found the HTTP server works great - when you connect to it and view the page it will create a 'screen-within-screen' effect, getting a new depth of screen with each refresh, like pointing a video camera with the output to a TV towards the TV - if the shutter speed is slow enough you can see the screens scrolling out.

Link to comment
Share on other sites

Amazing update! I got (I believe) a working directory structure going...

You can now browse my computer via my ip address...

http://68.113.199.134/C: will allow you to view all files and folders in that folder to browse and download!

I will post the code here in a few minutes.

Edited by daslick
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...