IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[求助] win10系统下不生效,求完善

[复制链接]
ahbzlong 发表于 2020-10-12 12:45:48 | 显示全部楼层 |阅读模式

#NoTrayIcon
#AutoIt3Wrapper_icon=D:\autoit3\Aut2Exe\Icons\FOLDER.ico
;~ #AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=2011-04-08, 00:00
#AutoIt3Wrapper_Res_Description=桌面图标同步程序
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Amu

#include <GuiListView.au3>
Opt("MustDeclareVars", 1)
Global $hWndManager = WinGetHandle("Program Manager")
Global $hWndDesktop = ControlGetHandle("Program Manager","",1)
If Not IsDeclared("GWL_STYLE") Then Global Const $GWL_STYLE = -16
Global $LVS_Style = _WinAPI_GetWindowLong($hWndDesktop, $GWL_STYLE)
Global $inifile, $iSet, $iRefresh, $SNAPTOGRID

If $CmdLine[0] Then
     For $i = 1 To $CmdLine[0]
         Select
             Case StringRegExp($CmdLine[$i], '^[/-](?i)load[=:].+$|^[/-](?i)l[=:].+$') And Not $inifile         
                 $iSet = 1
                 $inifile = StringRegExpReplace($CmdLine[$i], '^[/-](?i)load[=:]?|^[/-](?i)l[=:]?', "")
                 
             Case StringRegExp($CmdLine[$i], '^[/-](?i)save[=:].+$|^[/-](?i)s[=:].+$') And Not $inifile
                 $iSet = 0
                 $inifile = StringRegExpReplace($CmdLine[$i], '^[/-](?i)save[=:]?|^[/-](?i)s[=:]?', "")
                 
             Case StringRegExp($CmdLine[$i], '^[/-](?i)SnapToGrid[=:]\d+$|^[/-](?i)g[=:]\d+$') And $inifile         
                 $SNAPTOGRID = Number (StringRegExpReplace($CmdLine[$i], '^[/-](?i)SnapToGrid[=:]?|^[/-](?i)g[=:]?', "") )
                 
             Case StringRegExp($CmdLine[$i], '^[/-](?i)Refresh$|^[/-](?i)r$')
                 $iRefresh = 1
                 
             Case StringRegExp($CmdLine[$i], '^[/-](?i)Help$|^[/-](?i)[?h]$')
                 MsgBox(64,"参数帮助!","AutoIcon.exe [</load|/save>=<file>] [/G=<0|1>] [/R]" & @CRLF & "" & @CRLF & _
                     "/load=file 要加载的配置文件。" & @CRLF & "/save=file 要保存的配置文件。" & @CRLF & _
                         "/G=<0|1>   为“0”取消图标对齐到网格,为“1”图标对齐到网格,默认不作更改。" & @CRLF & "/R         相当于桌面右键“刷新”")
                 Exit
             Case Not $inifile
                 $inifile = $CmdLine[$i]
                 If FileExists($inifile) Then $iSet = 1
         EndSelect     
     Next
Else
         $inifile = @ScriptDir &"\icoSpace.ini"
         If FileExists ($inifile) Then
                $iSet = 1
        Else
                $iSet = 0
        EndIf
EndIf

If $iSet Then
     If $SNAPTOGRID Then $SNAPTOGRID = $LVS_EX_SNAPTOGRID
     If IsNumber ($SNAPTOGRID) Then _SendMessage($hWndDesktop, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_SNAPTOGRID, $SNAPTOGRID)
     If BitAND($LVS_Style, $LVS_AUTOARRANGE) Then _WinAPI_SetWindowLong($hWndDesktop, $GWL_STYLE, $LVS_Style - $LVS_AUTOARRANGE );取消自动排列
     
     If $iRefresh Then DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0);刷新图标
     _SaveAndLoadIconPos($inifile, 1)
     ;Run("RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters");刷新桌面(通过复制文件的方式替换壁纸文件适用)
Else
     _SaveAndLoadIconPos($inifile)
EndIf

Func _SaveAndLoadIconPos($iFile, $iLoad = 0)
     Local $iCount, $iIndex, $sName, $xy     
     If Not IsHWnd($hWndManager) Then $hWndManager = WinGetHandle("Program Manager")
     If Not IsHWnd($hWndDesktop) Then $hWndDesktop = ControlGetHandle("Program Manager","",1)
     $iCount = ControlListView($hWndManager, "", $hWndDesktop, "GetItemCount")
     If @error Then
         SetError(1)
         Return 0
     EndIf
     If Not $iLoad And FileExists($iFile) Then IniDelete($iFile, "图标位置")
     For $iIndex = 0 to $iCount - 1
         $sName = ControlListView($hWndManager, "", $hWndDesktop,"GetText", $iIndex)
         If $iLoad Then
             $xy = StringSplit (IniRead ($iFile, "图标位置", $sName, ""), ",")
             If $xy[0] = 2 Then _
             _SendMessage($hWndDesktop, $LVM_SETITEMPOSITION, $iIndex, BitOR(BitShift($xy[2], -16), BitAND($xy[1], 0xffff) ) )
         Else;保存图标信息
             $xy = _GUICtrlListView_GetItemPosition($hWndDesktop, $iIndex)
             IniWrite($iFile, "图标位置", $sName, $xy[0] & "," & $xy[1] )
         EndIf     
     Next
     Return 1
EndFunc







win10系统下不生效,有大神给完善下吗
原帖地址:https://www.itsk.com/thread-112873-1-1.html


最近访问 头像模式 列表模式
haithe 发表于 2020-10-16 16:37:48 | 显示全部楼层

活跃 440| 技术 0| 互助 0| 钻石 0

本帖最后由 haithe 于 2020-10-16 16:46 编辑

编译成32位的试试#PRE_UseX64=n
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

ahbzlong

111

活跃

0

技术

0

互助
签到任务
最火的业界新闻
  • 疑似小米平板5渲染图曝光!16:10 LCD屏加持
  • 国产之光!小米手机Q1出货量拿下欧洲第二:
  • 狗狗币市值突破800亿美元 超过通用汽车
  • 12.9英寸的iPad Pro遭遇交货延迟 最晚在7月
  • 12代酷睿Alder Lake-S工程样品泄露:详尽参
  • 盖茨夫妇1450亿美元如何分割?女方已获得18
  • 锁算力豪华限定版?NVIDIA建议AIC为新批次
  • 杀死时间、丧失思考,他们选择戒掉短视频
  • Alexa应用程序迎来Show Mode更新:联想PC秒
  • 技嘉发布两款旗舰级游戏主机:XSX外形 噪音
炫酷的硬件Show
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
  • 第一次DIY硬管水冷~~
  • 樱桃MX6.0 青轴 机械键盘 开箱
有趣的美图分享
  • 舒服
  • 后面,黑袍纠察队
  • 时代的眼泪
  • 从视角看,他扮演的女精灵
  • 我竟然是80后
  • 猎杀时刻
  • 果然是童子功
  • 化妆后千万别趴着睡
  • 刚倾家荡产
  • 准备换手机,曲面屏再好也不考虑
关注官方微信
快速回复 返回顶部 返回列表