Automate inactive/unfocussed window - autoit

Is there any way to run an AutoIt script on a window while it's not on top?
Example : Browsing Facebook, while the script is running on a game that's just behind the browser.
Could I do something like that?

If the game is running in Windowed mode you should be able to get a handle a specific window using it's title with the command WinGetHandle. Using the returned handle you can then use ControlSend to send various text and keys to the window.
It's hard to help you more than that, you question is very vague. If you provide more details on what exactly you want to accomplish we might be able to help you more.

I'm going to have to agree with Bibz answer. This question needs to be revised to provide a little more detail on what you're trying to do. The answer to this would really depend on the game and how it's running. For example: A web-based game such as one at coolmath-games.com. These games seem to be mostly Adobe FLASH based games that operate in the web browser. Another example would be Minecraft. This game is operating via it's own window. My last example would be a game like World of Warcraft which operates in a full-screen window. Using AutoIt to automate any processes would vary greatly in all of these situations.
If you want to use AutoIt on a game in the background while you browse the web or perform any other functions, your best bet would be to use WinGetHandle and ControlSend like Bibz recommended. Be sure to avoid using the Send(), MouseClick(), or similar functions as this would disrupt your browsing.
Check out this example below. It opens an instance of Internet Explore, navigates to Google, then searches for a term, all in the background. At the end of the script, I set it to make the browser visible so you can see that the search was in fact completed.
#CS
This example opens up a webpage in the background, navigates to Google,
and searches something.
#CE
#include <GUIConstants.au3>
#Include <IE.au3>
$a = "THIS IS WHAT I'M GOOGLING"
Preview($a)
Func Preview($Submit = "")
$oIE = _IECreate ("http://www.google.com", 0, 0)
$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery = _IEFormElementGetObjByName ($oForm, "q")
_IEFormElementSetValue ($oQuery, $Submit)
_IEFormSubmit ($oForm)
Sleep(3000)
MsgBox(0,"Showing IE","Now making IE visible",3)
_IEAction($oIE,"visible")
EndFunc
#CS
Notice, the browser is being used to Google something, then it's becoming visible AFTER the search was done.
#CE
I hope this help!
Thanks,
Tim

Related

How to used NetworkBehavior in Unity3D

Check the Picture- Image Here
I made a c# script then change the MonoBehavior to NetworkBehavior
then pud the script in the Main Camera.
I have problem using NetworkBehavior I dont know how to execute it, I want to try the SyncVar and other attributes that can help about server-client data networking.
thanks.
It is difficult to tell what is going on from you picture, and it would be helpful if you could tell us exactly what you are looking for, but as far as SyncVar working, it is important to note that it only works from the server side. That is, you can't sync an attribute from a remote player to the server, but the server can sync a player's attribute to everyone else. another thing to note about sync var is that it only works on basic types and unity math types (quaternion, vector3, etc.) if I recall correctly. If you need more help please try to be more specific.

Stream video to another computer using OBS

I'd like to take multiple video streams and display them one at a time, with the ability to swap between them. I was thinking about taking the video output from OBS and stream it to a private server using RMTP and nginx. Then I'd write some code (C/C++ maybe) to swap which stream is being displayed.
My first question is, would this even work? Would I be able to process the video being streamed to the server using this method, or would I need to send it to the server a different way? (preferably still using OBS)
My second question is, what would be a good place to get started for processing the streams? Are there any tutorials or forms that could be helpful?
I've never done any sort of video processing, so if I'm missing a key component I apologize ahead of time.
If I understand you correctly OBS gives you a couple of options to achieve this. You can create a different scene for each video input, select the scene to display the input of your choice. If you use the studio version it has a built in transition effects. Alternatively you can add all the video sources to one scene then move your desired source to the top. Using this method you can resize the sources and display more than one at a time.
Yes,upstairs is right.or you can use mimoLive.app if you are a macOS user

Is there a way to play sound on mobile when task finished

Maybe I didn't search to good, but I wonder is there a way to play a sound on my Apple mobile device when the task is finished, for example call to apply?
Best Regards
(This is one of many possible answers, and happens to work very well for me.)
I use Pushbullet and RPushbullet. After the initial setup (free account and free use), from any R instance (that has connectivity with the internet) I can run pbNote('note', 'title', 'body of note'), and it "instantly" comes up on my computer and mobile.
Because it is an R package/function, it can be easily scripted to meet whatever static/dynamic needs may arise. It can also send images (I'm told), files, addresses (think google maps), and lists.
I'm using the twitteR package and tweet something when a long-lasting task is done. You can then setup a second twitter account to follow the account you tweet to from R and set an alarm for new tweets.
To be able to tweet from R, you have to go through all the authentication steps for Twitter, though.
I use my own github package to send a text. This is wrapping python code I didn't write and don't understand so I maintain it for myself but have not been able to address other people's problems:
https://github.com/trinker/gmailR
So the use may look something like:
gmail(to=cell2email(5555555555, "sprint"), password = "password")
Including this at the end of the script sends me a text when the long task is complete. This really is taking advantage that cell numbers can be turned into email addresses if the cell carrier is known.

Android kernel LED control

Im new to this forum so be nice ;) i have followed rules :)
I am helping the dev for my kernel that I use. Since the mod I want is mainly only for me i figured its my duty to get it working myself.
The problem:
I have edited my *.kl files to disable the five front facing hardware buttons from waking the device and only allow the volume up / down buttons to wake the device as the front facing buttons get pressed when its in my pocket.
However, even though the front facing buttons no longer turn on the device , when they get pressed they light up adding an extra 6mA drain .
What I've tried:
I wrote an apk to change the permissions of the /sys/class/leds/button-backlight/brightness file to keep them off. Despite the program working , permissions allow the file be edited, causing them to light up.
What i need help on:
I downloaded my dev's kernel using git and I want to edit the kernel myself to keep the button lights off during sleep . However kernel code is not my comfort zone .. so i need help .
Thanks everyone for helping and simply just reading !
1) Messing with code is a bad idea (especially if you lack skill and don't know C and UNIX).
2) what you are probably looking for is script that will run on startup (initrc) and there you need to set it and change permissions using chmod command.
Thus you need to Setup what you want (with echo command presumably) -> change permissions so file can not be rewritten (chmod) -> put two commands in initrc.
Kernel can be like any other configured using make menuconfig and then compiling it, in that case you just disable stuff that you don't like.
[OT] I may be off though, your (original) question (there was no question mark) did not make too much sense here and there. Read this howto: How To Ask Questions The Smart Way from Eric Steven Raymond. Thanks.

Flex: Testing UI components at the click level?

I've been working on a Flex component and I'd like to write some automated tests for it. The trouble is, the UI testing tools I've looked at (FlexMonkey and Selenium Flex API) don't simulate "enough":
Most of the bugs which have come up so far relate to the way Flex deals with dragging and dropping, which these libraries can't simulate accurately enough. For example, I need to test a case where there is a "drop" event which occurs in the bottom half of a component – neither FlexMonkey nor Selenium Flex API can do that (they may simulate a mouse event, but they won't include coordinates).
So, is there any "good" way to automate that sort of testing?
Edit: After much research, it looks like the only piece of software that can do this is iMacros, which is Windows-only and the interface is... Lacking. So I'm going to be writing my own. Basically, it will put an HTTP interface on java.awt.Robot so code (in any language) can simulate mouse/keyboard events. If you're interested, PM me and I'll keep you updated.
Edit 2: I have published the first version of the framework I wrote, Blunderbuss, over at BitBucket: http://bitbucket.org/wolever/blunderbuss/ . You'll need Jython to run it (http://www.jython.org/), but after that the flex-client example should work.
Videos of Blunderbuss live over at Vimeo:
Automating Flex testing with Blunderbuss
Blunderbuss test suite running
At the moment this remains a proof-of-concept, as I haven't had the cycles to clean it up and make it more useable… But maybe enough people bothering me would give me that time :)
I've used Eggplant to test Flash and AIR apps without having to add any hooks into the code. It's a great tool but it's quite expensive. It simulates a real user by VNC-ing into a system and uses image recognition - among other things - to interact with the app.
I am definitely interested in your custom Java class, and (though I am not the best at Java (yet...)), I would be willing to help out if you're thinking of making this collaborative.
As to Flash MouseEvents. Unfortunately, there really isn't an accurate way to simulate the drag/drop experience in Flash. MouseEvents, when generated by the mouse, are handled in a very different way than regular events and while you could simulate actions by passing events into the handling functions, or by making the dispatcher fire a new DragEvent( DragEvent.DRAG_DROP..., it will not be the same as having the user interact with it. And for some functionality (like gaining access to the clipboard), nothing inside Flash will accomplish your goals.
To be honest, you're probably headed in the right direction -- using something which is not written in Flash to drive faked mouse events is probably your best bet.
I've never had to use it in Flex but i recently stumbled across some info on automation packages in the MS Surface SDK... after looking into it those classes automated user behavior which can be used for testing i.e. move a fake mouse to this point, perform this action. As you're using Flex mx.automation packages and classes. My guess (and hope) is that you'd be able to achieve what you want using these classes.
You could also try auto-hotkey - it is similarly a macro-editing program but it has proven to be very efficient and you can write scripts and set it up very easily.

Resources