w1314ich 发表于 2010-8-18 18:03:58

AU3如何实现桌面图标按名称,类型,大小,修改时间排列

AU3如何实现桌面图标按名称,类型,大小,修改时间排列

w1314ich 发表于 2010-8-18 19:26:54

有人帮下我吗

zcx880517 发表于 2010-8-18 21:16:25

本帖最后由 zcx880517 于 2010-8-18 21:20 编辑

用鼠标操作即可,多看看帮助文档,有鼠标操作的相关函数。#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("桌面图标排序--by:zcx880517", 400, 320, -1, -1)
$btn1 = GUICtrlCreateButton("按名称排序",50,50,150,50)
$btn2 = GUICtrlCreateButton("按大小排序",50,110,150,50)
$btn3 = GUICtrlCreateButton("按类型排序",50,170,150,50)
$btn4 = GUICtrlCreateButton("按修改时间排序",50,230,150,50)
$lab1 = GUICtrlCreateLabel("http://www.autoitx.com",255,295,200,30)
GUICtrlSetCursor(-1, 0)
GUISetState(@SW_SHOW)

        Local $msg,$btn1,$btn2,$btn3,$btn4,$lab1
    While 1
        $msg = GUIGetMsg()
        Switch $Msg
          Case $GUI_EVENT_CLOSE
                Exit
          Case $btn1
                ShellExecute("显示桌面.scf" , "", @AppDataDir & "\Microsoft\Internet Explorer\Quick Launch")
                Sleep(600)
                MouseClick("right")
                Sleep(500)
                Send("{I}")
                Sleep(500)
                Send("{N}")
          Case $btn2
                ShellExecute("显示桌面.scf" , "", @AppDataDir & "\Microsoft\Internet Explorer\Quick Launch")
                Sleep(600)
                MouseClick("right")
                Sleep(500)
                Send("{I}")
                Sleep(500)
                Send("{S}")
                Case $btn3
                ShellExecute("显示桌面.scf" , "", @AppDataDir & "\Microsoft\Internet Explorer\Quick Launch")
                Sleep(600)
                MouseClick("right")
                Sleep(500)
                Send("{I}")
                Sleep(500)
                Send("{T}")
          Case $btn4
                ShellExecute("显示桌面.scf" , "", @AppDataDir & "\Microsoft\Internet Explorer\Quick Launch")
                Sleep(600)
                MouseClick("right")
                Sleep(500)
                Send("{I}")
                Sleep(500)
                Send("{M}")
          Case $lab1
                ShellExecute("http://www.autoitx.com")
        EndSwitch
    WEnd

w1314ich 发表于 2010-8-18 22:25:52

非常感谢 但是有个问题 如果鼠标的位置不在桌面的空白处的话会出问题

能不能不用鼠标操作而且大哥不用那么麻烦只需教我下按名称排列就可以了 其他我会领会的

w1314ich 发表于 2010-8-19 09:32:22

还有其他方法吗

zcx880517 发表于 2010-8-19 11:15:37

本帖最后由 zcx880517 于 2010-8-19 11:17 编辑

回复 5# w1314ich


键盘操作出来和鼠标是一样的效果。也就是使用键盘上的“鼠标右键快捷键”
用这个方法,只要你不在桌面选中一个文件并将鼠标放在选中的文件上就不会出现非空白地方出错

附:键盘常用ASCII码

ESC键 VK_ESCAPE (27)
回车键: VK_RETURN (13)
TAB键: VK_TAB (9)
Caps Lock键: VK_CAPITAL (20)
Shift键: VK_SHIFT ($10)
Ctrl键: VK_CONTROL (17)
Alt键: VK_MENU (18)
空格键: VK_SPACE ($20/32)
退格键: VK_BACK (8)
左徽标键: VK_LWIN (91)
右徽标键: VK_LWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键: VK_INSERT (45)
Home键: VK_HOME (36)
Page Up: VK_PRIOR (33)
PageDown: VK_NEXT (34)
End键: VK_END (35)
Delete键: VK_DELETE (46)
方向键(←): VK_LEFT (37)
方向键(↑): VK_UP (38)
方向键(→): VK_RIGHT (39)
方向键(↓): VK_DOWN (40)
F1键: VK_F1 (112)
F2键: VK_F2 (113)
F3键: VK_F3 (114)
F4键: VK_F4 (115)
F5键: VK_F5 (116)
F6键: VK_F6 (117)
F7键: VK_F7 (118)
F8键: VK_F8 (119)
F9键: VK_F9 (120)
F10键: VK_F10 (121)
F11键: VK_F11 (122)
F12键: VK_F12 (123)
Num Lock键: VK_NUMLOCK (144)
小键盘0: VK_NUMPAD0 (96)
小键盘1: VK_NUMPAD0 (97)
小键盘2: VK_NUMPAD0 (98)
小键盘3: VK_NUMPAD0 (99)
小键盘4: VK_NUMPAD0 (100)
小键盘5: VK_NUMPAD0 (101)
小键盘6: VK_NUMPAD0 (102)
小键盘7: VK_NUMPAD0 (103)
小键盘8: VK_NUMPAD0 (104)
小键盘9: VK_NUMPAD0 (105)
小键盘.: VK_DECIMAL (110)
小键盘*: VK_MULTIPLY (106)
小键盘+: VK_MULTIPLY (107)
小键盘-: VK_SUBTRACT (109)
小键盘/: VK_DIVIDE (111)
Pause Break键: VK_PAUSE (19)
Scroll Lock键: VK_SCROLL (145)

thesnow 发表于 2010-8-19 11:27:48

http://msdn.microsoft.com/en-us/library/bb774884%28v=VS.85%29.aspx
页: [1]
查看完整版本: AU3如何实现桌面图标按名称,类型,大小,修改时间排列