Jump to content

Recommended Posts

  • Moderators
Posted

alram,

This was a lot easier than I thought it would be - once I found that the DeskTop is a ListView! So the normal Autoit commands work on the icons - which are ListViewItems within the DeskTop.

This simple script will move the 'Recycle Bin' icon and then replace it:

#Include <GuiListView.au3>
#include <Array.au3>

; Get desktop handle
$hDeskTop = ControlGetHandle( "Program Manager", "", "SysListView321" )

; Save the listview items (icons) data to an array
Global $aIcons[_GUICtrlListView_GetItemCount($hDeskTop)][3]
For $i = 0 to _GUICtrlListView_GetItemCount($hDeskTop) - 1
    ; Name
    $aIcons[$i][0] = _GUICtrlListView_GetItemText($hDeskTop, $i)
    $aPos = _GUICtrlListView_GetItemPosition($hDeskTop, $i)
    ; Left
    $aIcons[$i][1] = $aPos[0]
    ; Top
    $aIcons[$i][2] = $aPos[1]
Next

; Show the icons and their positions
_ArrayDisplay($aIcons)

; Look for the Recycle Bin and get its index
$iIndex = _ArraySearch($aIcons, "Recycle Bin")

; Save its current position
$iOld_X = $aIcons[$iIndex][1]
$iOld_Y = $aIcons[$iIndex][2]

; Move it to a new position
MsgBox(64, "Moving the Recycle Bin icon",  "Press OK when ready to move!")
_GUICtrlListView_SetItemPosition($hDeskTop, $iIndex, 500, 500)

; Wait a bit
Sleep(5000)
; And move it back
_GUICtrlListView_SetItemPosition($hDeskTop, $iIndex, $iOld_X, $iOld_Y)

Over to you now.... :-)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

  • Moderators
Posted

Yashied,

Spasiba.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

Posted

Thanks Melba

it works but the funny thing is that I was messing arround with the

same functions before and I couldn't get them to work.

I'll have to study your script and find my error. Thanks again

Al ^_^

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...