Jump to content

Windows 10 Multiple Desktops

Recommended Posts



is there currently a way to Switch between the Desktops which can be created within Windows 10 with an AutoIt function?

  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~


Share this post

Link to post
Share on other sites

To switch between desktops you can use Send("#^{RIGHT}")



  • Like 2

Share this post

Link to post
Share on other sites


  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~


Share this post

Link to post
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

  • Similar Content

    • DLS
      By DLS
      I have a working script that changes the core affinity and process priority of multiples of a specific application I have running.  
      I have that part figured out.

      I would like to make a little modification to it.

      Windows10 introduced virtual desktops.  I am trying to have different core affinity and priority of processes on the visible and non-visible desktops.  
      What I need is a bool function that could be described as IsWindowOnCurrentDesktop($hWnd).  I have searched the winAPI.au3 but I do not believe anything like that exists built it.
      I have searched multiple places before asking for help. I found a Microsoft supplied example of the function I need using C#, but I am unfamiliar with C# to a degree that I cannot port the system call over.
      Help is appreciated but not expected.  Thanks in advanced.   In the meantime I will be learning C# syntax and class structure.
    • ces1a
      By ces1a
      I recently upgraded my laptop to one with Windows 10 and higher screen resolution.  In the process I found that some of my scripts did not work right when using Autoit's @DesktopWidth and @DesktopHeight macros.  Insteat of 1920 x 1080 resolution Autoit detects 1536 x 864.  Thus, GUIs designed to appear near the right edge of the screen  displayed closer to the horizontal middle of the screen.  I assume others may have the same problem.
      A search on this forum and Microsoft Script Center helped me to write the following script that gets the true screen width and height from WMI.
      MsgBox(0, '', _GetMonitorInfo())
      Func _GetMonitorInfo()
          Local $oWMI, $Listing, $sWidth = 0, $sHeight = 0
          $oWMI = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
          If IsObj($oWMI) Then
              $Listing = $oWMI.ExecQuery("SELECT * FROM Win32_DesktopMonitor")
              If IsObj($Listing) Then
                  For $oItem In $Listing
                      $sHeight = $oItem.ScreenHeight
                      $sWidth = $oItem.ScreenWidth
          Return "Width: " & $sWidth & @CRLF & "Height: " & $sHeight
      EndFunc ;_GetMonitorInfo

      Hopefully it will benefit others.  I for sure am very happy with all the samples I been able to find here in the past.
    • ces1a
      By ces1a
      I was looking for a way to find out how long my PC had been running a few weeks ago and had trouble finding something that satisfied my needs,  I found a Visual Basic Script that worked but found it too long. But searching trough AutoIt WINAPI help found that it really was as simple as the following little script.
      #include <WinAPISys.au3>
      #include <WinAPIMisc.au3>
      Local $Uptime = _WinAPI_StrFromTimeInterval(_WinAPI_GetTickCount())
      MsgBox(0, '', "PC Uptime ==> " & $UpTime)
      Hope it helps...
    • Dimitric
      By Dimitric
      Hello everyone, i have a problem on my scripts to activate the auto install of driver on W10 with autoit.
      When i open "control.exe", "sysdm.cpl" and i send "Send("^{TAB}")" my PC is doing nothing, like windows 10 don't take Control + Tab, but when i do with my keyboard it works, so i think there is something with the script with W10 ?
      Here it is the scripts i have :
      ProgressSet("3%", "Activation recherche auto pilote sur le net en cours...") Sleep(200) ShellExecute("control.exe", "sysdm.cpl") WinWait("Propriétés système") ;==> Attend la fenêtre msgbox(1,"test","1") Send("^{TAB}") msgbox(1,"test","2") Sleep(100) ControlClick("Propriétés système", "", "[ID:2008]") ;==> Envoi un clic msgbox(1,"test","3") Sleep(300) ControlClick("Paramètres d’installation de périphérique", "", "[ID:1082]") Sleep(100) ControlClick("Paramètres d’installation de périphérique", "", "[ID:1]") Sleep(300) ControlClick("Propriétés système", "", "[ID:1]") ProgressSet("5%", "Activation recherche auto pilote sur le net terminée...") Sleep(10000) All the french in the scripts are just the name of window opened.
      Thanks for the help.
    • Carm01
      By Carm01
      I have windows 10 64 bit pro with the latest versions of scite and installed. Not that it matters for this instance.
      My monitor resolution is 1920 x 1080 progressive with a refresh rate of 64 HZ ( more in a min on that )
      I have a Nvida gtx 960 card and an HP monitor
      Since moving to Windows 10 and this configuration ( latest drivers of course ) I am unable to see the " ControlSetText " being displayed under the standard 60HZ refresh rate in WIndows 10. On Windows 7 machines this is flawless and always had been. The ControlSetText is updated at an extremely fast rate. IF I change the resolution one notch lower in windows 10 the display displays the text like in Windows 7 60HZ refresh. IF I user the max resolution 1920 x 1080 @ 60 HZ nothing is displayed in Windows 10. IF I create a custom resolution profile and just change the refresh rate to 64HZ it displays normally in Windows 10.
      If I enable " GUIGetMsg() " it displays fine but processes very slow fyi
      I will place the relevant code below. I am wondering:
      1) what is the max refresh/update rate for ControlSetText ( fasted it can be updated )
      2) Could this be adjusted either in code without hampering processing speed
      3) Does this need to be addressed in AutoIT program itself as a bug ?
      #include <Array.au3> #include <File.au3> Local $aRetArray, $aArray local $sFilePath = @ScriptDir & "\info.txt" _FileReadToArray($sFilePath, $aRetArray) Local $aArray[UBound($aRetArray)] SplashTextOn("Percent Complete", "", 130, 40, -1, -1, 16, "") Local $a = 0 Local $hTimer = TimerInit() $bb = UBound($aRetArray) - 1 For $i = 1 To UBound($aRetArray) - 1 ; ;GUIGetMsg();prevent high cpu usage $line = $aRetArray[$i] If StringRight($line, 2) = " X" Then If $i = 1 Then $line1 = StringLen($line) - StringLen($aRetArray[$i]) $line2 = StringRight($line, $line1) $line3 = $aRetArray[$i] $line4 = $aRetArray[$i + 1] Else $line1 = StringLen($line) - StringLen($aRetArray[$i - 1]) $line2 = StringRight($line, $line1) $line3 = $aRetArray[$i - 1]; $line4 = $aRetArray[$i + 1]; EndIf $aArray[$a] = $i & "| " & $line3 & "| " & $line2 & "| " & $line4 $a = $a + 1 EndIf ControlSetText("Percent Complete", "", "Static1", Round((($i / $bb) * 100), 2)) Next Thanks in advance

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.