添加马甲

请在下面输入您的马甲帐号信息, 然后点击 "添加" 按钮. 马甲信息添加后不能修改, 如果您修改了马甲的密码或安全提问, 请删除这个马甲并重新添加.
注意,每添加一个马甲收取工本费 200 金钱

用户名
密码
 
安全提问
回答
 
附加设置  
 



标题: [转载] 桌面图标同步坐标定位程序
火星撞地球
版主
Rank: 7Rank: 7Rank: 7


进步奖2 进步奖3 进步奖7 进士勋章 举人勋章 版主勋章
UID 43
精华 6
积分 3616
帖子 1457
威望 461
金钱 116
贡献 19
阅读权限 100
注册 2007-6-25
状态 离线
楼主
发表于 2008-12-14 00:18 资料 短消息 加为好友
分享到:

桌面图标同步坐标定位程序

参考网络上先辈代码,改造成符合网维大师用户的版本,由于可以精确定位图标的位置,所以比单方面的同步更好,特别适合有个性的网管使用。

使用说明:
先将样板客户机的图标排列布局好,运行Shortcut.exe,按确定把配置保存到Shortcut.ini。
将图表复制一份放到Shortcut.exe程序边上的桌面目录下,通过开机通道同步到客户机。
开机命令run.bat 内增加命令行,Shortcut.exe /r Shortcut.ini,既可!

DOS命令行运行例子:

;保存当前桌面图标坐标到文件Shortcut.ini
Shortcut.exe /w Shortcut.ini

;根据Shortcut.ini配置文件排列桌面图标。
Shortcut.exe /r Shortcut.ini

[图标配制]
复制源=E:\Shortcut\桌面 (默认当前执行文件目录下的桌面文件夹)
复制到=C:\Documents and Settings\Administrator\桌面    (默认当前用户桌面)

;图标文件采用强制覆盖方式

=========================================================================================

AU3源码:

#NoTrayIcon
#Region ;**** 参数创建于 AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=ShortCut.ico
#AutoIt3Wrapper_outfile=ShortCut.exe
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=Shortcut 应用程序
#AutoIt3Wrapper_Res_Description=Shortcut 应用程序
#AutoIt3Wrapper_Res_Fileversion=6.1.3.0
#AutoIt3Wrapper_Res_LegalCopyright=TVZML作品
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GuiListView.au3>
FileInstall("ShortCut.ini", @ScriptDir & "\ShortCut.ini")
$Dir = @ScriptDir & "\ShortCut.ini"
If FileExists($Dir) = 0 Then
IniWrite($Dir, "图标配制", "复制源", @ScriptDir&"\桌面")
IniWrite($Dir, "图标配制", "复制到", @DesktopDir)
EndIf
$icopath = IniRead($Dir, "图标配制", "复制源", "")
$DesktopDir = IniRead($Dir, "图标配制", "复制到", "")
FileCopy($icopath, $DesktopDir,1)
Opt("MustDeclareVars", 1)
Global $hWndManager = WinGetHandle("Program Manager")
Global $hWndDesktop = ControlGetHandle("Program Manager","",1)
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 [</r|/w>=<file>] [/G=<0|1>] [/R]" & @CRLF & "" & @CRLF & _
                     "/r=file 要加载的配置文件。" & @CRLF & "/w=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
     If Not IsDeclared("iMsgBoxAnswer") Then Dim $iMsgBoxAnswer
     $iMsgBoxAnswer = MsgBox(547,"提示","" & @CRLF & "选“是”保存桌面图标位置信息到文件" & @CRLF & "" & @CRLF & "选“否”从文件读取并排列桌面图标。")
     Select
         Case $iMsgBoxAnswer = 6 ;Yes
             $inifile = FileSaveDialog( "输入一个文件名。", @ScriptDir, "配置文件(*.ini)", 2)
             If @error Or Not $inifile Then Exit
             $iSet = 0
             If Not StringRegExp($inifile, "\.ini$") Then $inifile &= ".ini"
         Case $iMsgBoxAnswer = 7 ;No
             $inifile = FileOpenDialog( "选择一个文件。", @ScriptDir, "配置文件(*.ini)", 1)
             If @error Or Not $inifile Then Exit
             $iSet = 1
         Case $iMsgBoxAnswer = 2 ;Cancel
             Exit
     EndSelect   
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

顶部
springing
秀才
Rank: 2


UID 415
精华 0
积分 2341
帖子 211
威望 0
金钱 90
贡献 0
阅读权限 20
注册 2008-1-8
来自 会宁
状态 离线
发表于 2011-12-24 19:38 资料 短消息 加为好友 QQ
真好。。。。。。。。。  

顶部
乐可儿
秀才
Rank: 2


进步奖1
UID 1408
精华 0
积分 1409
帖子 376
威望 15
金钱 623
贡献 0
阅读权限 20
注册 2011-10-25
状态 离线
严重支持!

顶部
zmf11023
秀才
Rank: 2



UID 596
精华 0
积分 2775
帖子 226
威望 0
金钱 269
贡献 0
阅读权限 20
注册 2008-7-18
状态 离线
顶你一下,好贴要顶!  

顶部
a965932483
秀才
Rank: 2



UID 1252
精华 0
积分 2904
帖子 242
威望 0
金钱 222
贡献 0
阅读权限 20
注册 2010-12-20
状态 离线
慢慢来,呵呵  

顶部
UFO
秀才
Rank: 2


UID 1286
精华 0
积分 2308
帖子 474
威望 67
金钱 1300
贡献 0
阅读权限 20
注册 2011-4-21
状态 离线
哈哈,顶你了哦.  

顶部
wangyouli100
秀才
Rank: 2



UID 1379
精华 0
积分 2677
帖子 234
威望 0
金钱 103
贡献 0
阅读权限 20
注册 2011-8-29
状态 离线
不错,支持下  

顶部
wyw_0726
秀才
Rank: 2



UID 553
精华 0
积分 3023
帖子 249
威望 2
金钱 310
贡献 0
阅读权限 20
注册 2008-5-28
状态 离线
oh!magat!!!  

顶部
思洁
秀才
Rank: 2



UID 313
精华 0
积分 3261
帖子 257
威望 0
金钱 213
贡献 0
阅读权限 20
注册 2007-10-29
状态 离线
我也来顶一下..  

顶部
浪漫一生
秀才
Rank: 2



UID 983
精华 0
积分 2464
帖子 222
威望 1
金钱 70
贡献 0
阅读权限 20
注册 2008-10-12
状态 离线
帮你顶,人还是厚道点好  

顶部



京ICP备07018629号
本站QQ群69392608

当前时区 GMT+8, 现在时间是 2025-5-9 07:49

免责声明:本站部分文章、资源来自互联网,版权归原作者所有。如侵犯了您的权利,请及时告知,我们将于第一时间删除!

Powered by Discuz! © 2001-2024XML
Processed in 0.054604 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系站长 - 精简版 - 手机版