01-27-2015 08:17 AM
How could acomplish this..
Computer A and Compuer B are hooked to a network.
Computer A has labview
Computer B does not have labview.
I want to be able from computer A with labview to take a screen shot of computer B.?
i tryied to look at thightVNC or UltraVNC and they dont have run an activex server so i can do that... is there another way?
Solved! Go to Solution.
01-27-2015 08:49 AM
no matter how you spin it, you'll need some softare on PC 'B'.
What are your restrictions with B? -Why can you not install the labVIEW runtime and have a LabVIEW EXE run on it.
01-27-2015 08:58 AM
Installing labview runtime on B will be my last resort if there is no other option.
i am open to install other software.
01-27-2015 10:07 AM
the main problem you are going to have is that you need to send and receive data over the network, which means B must have a software installed that 1) listens for commands coming in from the network, and 2) is able to do a local capture and send the data back over the network, and then 3) you need to know the data format used by the software on B so you can properly format commands and process the return data.
1 and 3 tasks become very simple (assuming experience with LabVIEW) if you write the software for B yourself, but I'm not sure if/how LabVIEW can take screenshots.
I am almost positive that ActiveX cannot work across networks like that due to security issues. VNC/TightVNC sounded like a good idea .. since tightVNC is open source, you might be able to decipher enough that you can create a simple client in LabVIEW that is able to setup and connect with tightVNC on B, then parse the remote image data stream into frames that you can store.
All in all sounds like a lot of effort.
Could you please give some details on what exactly you are trying to accomplish? What is the problem you are trying to solve? Are you trying to remotely monitor a process?
01-27-2015 11:10 AM
i have some hardware that i want to test, i can send commands to that hardware from labview from computer A... but that hardware is part of the product of computer B which runs company software that reads from the hardware.
i will control hardware form computer A and stimulate inputs.. and i want to save the screenshots from that computer B showing what the company software is reading.
01-27-2015 11:17 AM - edited 01-27-2015 11:18 AM
I prefer to have the hardware in the same place as the controller. Is it just in the other room or is it on the other side of the building, for instance? I wouldn't want to rely on a phone call for an emergency shutdown.
What happens if either of the computers go offline?
01-27-2015 11:31 AM
I agree with Bill, however, even if you ran on the same computer, eliminating "A", you would still need a way to programatically take screenshots of either all monitors or "window handle xyz". I'm not very well versed in using various Microsoft Windows .NET or DLL's so I can't be more specific, but I'm convinced there is one or both such files that would allow the (local) functionality you are looking for.
What about the company software you are trying to capture? -Does that offer activeX or DLL's or other shared libraries that you can use to call into the company software and get the values you are looking for without (or in addition to) a screen-shot?? That way you would be able to have your LabVIEW code numerically(?) compare and check the output from the Company software against the applied control values to check if things are 'ok'. The screen-shot could prove handy for 'proof' or human review still.
01-27-2015 12:03 PM
I haven't used it but I've heard good things about Sikuli for automating things like screen shots or mouse clicks on remote PCs. It's a python based utility.
http://doc.sikuli.org/screen.html
01-27-2015 01:43 PM
@Qfang
the developers of that software said(i think they dont want to give me the .H and the DLL to make calls) they dont have something written that will work with labview(i think is @$!@#$!).
@qzerror
SIKULI this is really interesting......
thanks