arahming Posted July 1, 2013 Share Posted July 1, 2013 Scenerio: I have users that have to manually open twenty Remote Desktop connections shrink them to about 1 x 1/2 inch and place them on certian areas on the lower part of thier desktop cascaded. After they are placed the users than scrolls the open windows all the way to the right and 4 clicks down to display the data they need to see within the RDP sessions. I have been asked to automate this process as it taked forever to keep doing this evertime there is a problem and was wondering if thie is something AutoIT can do easily. I have only started looking into the program today and am on a short timeframe to do this so dont want to spend time on the impossible any assitance would help and thanks in advance Link to comment Share on other sites More sharing options...
jdelaney Posted July 1, 2013 Share Posted July 1, 2013 (edited) What are you looking for on the remote stations? Might be better to create a share, and run a script on each station that creates a status file on that share. Then have another script to read in those files to a gui. else, helpfile for: Run() Win* functions Control* functions winmove Edited July 1, 2013 by jdelaney IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. Link to comment Share on other sites More sharing options...
blckpythn Posted July 1, 2013 Share Posted July 1, 2013 Would Remote Desktop Connection Manager not work better for them? Download Screenshots Link to comment Share on other sites More sharing options...
guinness Posted July 1, 2013 Share Posted July 1, 2013 blckpythn is on the right track. There is also a 3rd party tool which pretty much does the same thing. I understand you want to create this, but sometimes reinventing the wheel doesn't quite work out to be the best option. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
arahming Posted July 1, 2013 Author Share Posted July 1, 2013 I have looked at the RDP connection manager the problem is that it shrinks the data they are viewing which is why they shrink the screen and focus on the area with the data they need to look at. the data is also real time turbine data viewed from on of our vendor scada programs so we do not have the ability to view it except through the rdp sessions Link to comment Share on other sites More sharing options...
orbs Posted July 2, 2013 Share Posted July 2, 2013 (edited) ok, so let's flow with your current and assume there is no vendor-supported method to retrieve the data to a central control panel, and that your RDP scenario is the best method they can come up with. how about this: 1) an AutoIt script running as a tray icon. 2) the tray icon has 20 items in it, each item notate a specific RDP session window. 3) when you select an item, the script does the following: a. activates the notated RDP session window, and set focus to it, so it is on top of others b. scrolls to the lower-right corner inside the window. 4) improvement: you can have another item notated "open all", and if allowed by your group policy, you make sure all your RDP sessions have a configuration file (.rdp file, if i'm not mistaken), so you do not need to enter credentials to connect. you put all .rdp files in one folder, and when you click "open all" item, the scripts launches all .rdp files found in that folder, and places them on the screen as you want. question: how do your users know if any session requires attention? is it in the session itself, or is there an external notification? Edited July 2, 2013 by orbs Signature - my forum contributions: Spoiler UDF: LFN - support for long file names (over 260 characters) InputImpose - impose valid characters in an input control TimeConvert - convert UTC to/from local time and/or reformat the string representation AMF - accept multiple files from Windows Explorer context menu DateDuration - literal description of the difference between given dates Apps: Touch - set the "modified" timestamp of a file to current time Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes SPDiff - Single-Pane Text Diff Link to comment Share on other sites More sharing options...
guinness Posted July 2, 2013 Share Posted July 2, 2013 I had to test how 20 items would look in a tray menu. #NoTrayIcon #include <Constants.au3> ; Required for the $TRAY_CHECKED constant. Opt('TrayMenuMode', 3) ; The default tray menu items will not be shown and items are not checked when selected. These are options 1 and 2 for TrayMenuMode. Example() Func Example() ; Create a tray item For $i = 1 To 19 TrayCreateItem('Item ' & $i, -1, -1, 1) Next TrayCreateItem('') ; Create a separator line. Local $iAbout = TrayCreateItem('About') TrayCreateItem('') ; Create a separator line. Local $iExit = TrayCreateItem('Exit') TraySetState(1) ; Show the tray menu. While 1 Switch TrayGetMsg() Case $iAbout ; Display a message box about the AutoIt version and installation path of the AutoIt executable. MsgBox($MB_SYSTEMMODAL, '', 'AutoIt tray menu example.' & @CRLF & @CRLF & _ 'Version: ' & @AutoItVersion & @CRLF & _ 'Install Path: ' & StringLeft(@AutoItExe, StringInStr(@AutoItExe, '\', Default, -1) - 1)) ; Find the folder of a full path. Case $iExit ; Exit the loop. ExitLoop EndSwitch WEnd EndFunc ;==>Example UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
orbs Posted July 2, 2013 Share Posted July 2, 2013 yeah, that's what i was talking about. it would fit nicely in most screen resolutions. of course you can split to submenus, but i doubt it would be necessary or useful in this case. anyway i think the real action coding should not be too hard. Signature - my forum contributions: Spoiler UDF: LFN - support for long file names (over 260 characters) InputImpose - impose valid characters in an input control TimeConvert - convert UTC to/from local time and/or reformat the string representation AMF - accept multiple files from Windows Explorer context menu DateDuration - literal description of the difference between given dates Apps: Touch - set the "modified" timestamp of a file to current time Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes SPDiff - Single-Pane Text Diff Link to comment Share on other sites More sharing options...
arahming Posted July 2, 2013 Author Share Posted July 2, 2013 The users scan the small area that the RDP has displayed if there are faults with turbines they will flash than the user will maximize that session and take care of the issue than they will minimize it again. I have asked them about several scenarios but they have stated they need to be able to see that area for each RDP session at all time. they are also multiple monitor users 4 in all so they are looking at these RDP sessions and several other applications. the open all scenario seems to be the one which will work the best If someone can point me to docs on manipulating windows forms for the scrolling and sizing of the RDP sessions that would be a good start thanks Link to comment Share on other sites More sharing options...
orbs Posted July 2, 2013 Share Posted July 2, 2013 (edited) so your windows are not cascaded, but visible along side each other. that makes it even more simple. you don't even need all items in the tray menu, just "open all" (for initial purpose) and "re-order all" (which the user should click when they are done working with any of the windows). function WinMove will give you all you need for moving and resizing of windows (you will need to preset the size and position of every one of the windows, probably in an .ini file) scrolling seems a bit more difficult, i'll see what i can find. edit: for scrolling, maybe function _GUIScrollBars_ScrollWindow will be useful. but since the example seems too over-complicated to me at first glance, i believe someone can suggest an easier method. Edited July 2, 2013 by orbs Signature - my forum contributions: Spoiler UDF: LFN - support for long file names (over 260 characters) InputImpose - impose valid characters in an input control TimeConvert - convert UTC to/from local time and/or reformat the string representation AMF - accept multiple files from Windows Explorer context menu DateDuration - literal description of the difference between given dates Apps: Touch - set the "modified" timestamp of a file to current time Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes SPDiff - Single-Pane Text Diff Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now