BlueStacks Quick App Launcher
For those that aren't familiar with BlueStacks (BS) it is an Android emulator for the Windows OS. BS allows you to use Android apps on your Windows computer allowing you to free up your mobile devices and also allows developers to test and create their applications while at their computers.
There are many things that can be done with BS and different ways it can be used and one feature I like is being able to run user installed apps from shortcuts in a folder. This makes it possible to run specific apps without starting BS first.
To make running apps even quicker I have created:
BlueStacks Quick App Launcher!
Usage
BlueStacks Quick App Launcher quickly lists any shortcut found in the BS App Folder and allows you to run any app in the list by selecting the app and either hitting Enter or by clicking the 'Start App' button. You can select an app by using the mouse or the directional keys.
Images & Screens
Downloads
Script - Source
; List and lauch Android apps in Bluestacks emulator. ; Init OnMessage(0x200,"WM_MOUSEHOVER") OnMessage(0x2a3,"WM_MOUSELEAVE") #NoEnv SendMode Input SetWorkingDir %A_ScriptDir% RegRead,dataDir,HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks,DataDir RegRead,installDir,HKEY_LOCAL_MACHINE\SOFTWARE\BlueStacks,InstallDir exeLoc:=installDir "Bluestacks.exe" If !dataDir { MsgBox,20,BlueStacks Launcher Error, % "" . "BlueStacks has not been found or is not installed properly.`n" . "Please install BlueStacks and try again.`n`n" . "Would you like to download the official BlueStacks from`n" . "their website?" IfMsgBox, Yes Gosub, Download ExitApp } appDir:=dataDir "UserData\Library\My Apps\" Gosub, GetAppList If (comboList == "No User Apps") { MsgBox,20,BlueStacks Launcher Info, % "" . "You have not installed any user apps in BlueStacks.`n" . "Would you like to open BlueStacks to install some?" IfMsgBox, Yes Run, % exeLoc } FileInstall,\bs-launcher-button.png, % A_Temp "\bs-launcher-button.png" FileInstall,, \bs-launcher-button-start.png, % A_Temp "\bs-launcher-button-start.png" ; Vars bsExe:=FileExist(installDir "HD-StartLauncher.exe") ?installDir "HD-StartLauncher.exe" :installDir "Bluestacks.exe" lastList:=GetAppList() gtitle:="BlueStacks Quick App Launcher" buttonL:=A_Temp "\bs-launcher-button.png" buttonS:=A_Temp "\bs-launcher-button-start.png" minW:=300 ; Build menus, intial loops and guis here Menu, Tray, NoStandard Menu, Tray, Add, &Download BlueStacks,Download Menu, Tray, Add Menu, Tray, Add, E&xit BlueStacks QAL,GuiClose Gui, Color, 0xFFFFFF, 0xFEFEFA Gui, Font, c0x3B5297 s13 , Segoe UI Gui, Add, Text, w%minW%, Installed user apps in BlueStacks. Gui, Font, c0x1D1D1D s11 Gui, Add, Combobox, xp y+8 vChoice Choose1 w%minW% 0x401, % GetAppList() Gui, Show, AutoSize, % gtitle ControlGetPos,,,cb1w,,Combobox1, % gtitle Gui, Hide bWidth:=cb1w Gui, Add, Picture, w%bWidth% h-1 gButtonStartApp +BackgroundTrans, % buttonL Gui, Add, Picture, w%bWidth% h-1 y+0 gButtonStartBS +BackgroundTrans, % buttonS Gui, Show, AutoSize, % gtitle Gui, +LastFound +HwndMainHwnd VarSetCapacity(tme,16,0) NumPut(16,tme,0), NumPut(2,tme,4), NumPut(MainHwnd,tme,8) GetControls(gtitle) SetTimer, ReCheck, 3000 Send, {Right} ; End auto execute Return ; Hotkeys ;!r::Reload #IfWinActive, BlueStacks Quick App Launcher ~Down::Send, {Down}{Right} ~Up::Send, {Up}{Right} Enter::Gosub, ButtonStartApp #IfWinActive ; Functions #Include, , \WinGuiLib.ahk WM_MOUSELEAVE(){ ToolTip } WM_MOUSEHOVER(){ Global Local over over:=MouseOver(CB1X,CB1Y,CB1X2,CB1Y2)?1 :0 If (over == 1){ ComboMsg() } If !over { ToolTip DllCall( "TrackMouseEvent","uint",&tme ) } } GetAppList(){ fcounter=0 Global appDir,lnkList lnkList:="" Loop, % appDir "*.lnk" { If (A_LoopFileExt == "lnk") { fcounter++ If !lnkList lnkList:=Object() lnkList.Push(A_LoopFileName) shortName:=SubStr(lnkList[A_Index],1,StrLen(lnkList[A_Index])-4) comboList.=fcounter " - " shortName "|" } } If (comboList != lastList && comboList) comboList:=SubStr(comboList,1,StrLen(comboList)-1) Else comboList:="No User Apps" Return comboList } ComboMsg(){ Static counter counter++ If mod(counter,2) { Sleep, 3000 SetTimer, KillTT, -4500 ToolTip % "You can press [Enter] to start an app...`n" . "This list auto-updates..." } } ; Classes ; Subs KillTT: ToolTip Return ButtonStartApp: Gui, Submit, NoHide index:=SubStr(Choice,1,1) Run, % appDir lnkList[index] TrayTip, % gtitle " Info", % "Starting " SubStr(Choice,5) Return ButtonStartBS: Run, % bsExe TrayTip, % gtitle " Info", Starting BlueStacks... Return ReCheck: thisList:=GetAppList() If (lastList != thisList) { GuiControl, ,Combobox1,% "|" GetAppList() IfWinActive, % gtitle { ControlFocus,Combobox1, % gtitle Sleep, 150 Send, {Down}{Right} } Else { WinActivate, % gtitle ControlFocus,Combobox1, % gtitle Sleep, 150 Send, {Down}{Right} } } lastList:=GetAppList() Return GetAppList: fcounter=0 Loop, % appDir "*.lnk" { If (A_LoopFileExt == "lnk") { fcounter++ If !lnkList lnkList:=Object() lnkList.Push(A_LoopFileName) shortName:=SubStr(lnkList[A_Index],1,StrLen(lnkList[A_Index])-4) comboList.=fcounter " - " shortName "|" } } If comboList comboList:=SubStr(comboList,1,StrLen(comboList)-1) Else comboList:="No User Apps" Return Download: Run, http://www.bluestacks.com/download.html Return GuiClose: ExitApp
No comments:
Post a Comment