在所有客户端桌面上添加创建快捷方式
本帖最后由 redapple2008 于 2009-10-5 11:01 编辑要求:
1。在所有客户端把桌面上图标添加到一个界面管理窗口中。(域管理)
2。设置一个界面。如下图:(可以做得更好。)
3。不需要客户端操作,服务器更新快捷图标数量客户端同步。
4。最好可以设置每个快捷图标(软件)更新。复制相应的软件文件到客户端。
5. 支持98,2000、xp,2003,vista,中英文系统。 只要达到要求,价格可以再商量。 http://www.autoitx.com/forum.php?mod=viewthread&tid=4560&highlight=%D3%CE%CF%B7
和这个差不多,可惜没有源码。 本帖最后由 ainizm 于 2009-10-8 18:17 编辑
大工程啊,跟讯闪似的,要有服务器,还要有客户端。这个东西就是在价格上在加个零,都没人给你搞,因为这玩意搞出来再加个注册,就可以直接去卖了
楼下的说话真难听,你不愿意写不要带攻击语言。影响论坛环境 这里快成民工集结地了
chenjiaji 发表于 2009-10-5 12:25 http://www.autoitx.com/images/common/back.gif
看来穷人不好过呀! 本帖最后由 redapple2008 于 2009-10-6 20:11 编辑
大家看不上这点钱呀!不过在我的努力下,还做了一点成绩出来。 樓主能留下E-mail私下聯系不?
請教下
不會弄這個 晚上起来顶一下帖。 起来顶一下帖。再顶。。。。。。。。。。。。 桌面图标位置同步脚本,给你借鉴一下吧
#NoTrayIcon
#AutoIt3Wrapper_icon=D:\autoit3\Aut2Exe\Icons\FOLDER.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=2008-04-19, 23:31
#AutoIt3Wrapper_Res_Description=桌面图标同步程序
#AutoIt3Wrapper_Res_Fileversion=1.0.0.1
#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 Then
For $i = 1 To $CmdLine
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>] " & @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
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 = 2 Then _
_SendMessage($hWndDesktop, $LVM_SETITEMPOSITION, $iIndex, BitOR(BitShift($xy, -16), BitAND($xy, 0xffff) ) )
Else;保存图标信息
$xy = _GUICtrlListView_GetItemPosition($hWndDesktop, $iIndex)
IniWrite($iFile, "图标位置", $sName, $xy & "," & $xy )
EndIf
Next
Return 1
EndFunc 桌面图标位置同步脚本,给你借鉴一下吧
#NoTrayIcon
#AutoIt3Wrapper_icon=D:\autoit3\Aut2Exe\Icons\FOLDER.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=20 ...
ainizm 发表于 2009-10-11 14:34 http://www.autoitx.com/images/common/back.gif
这个是桌面操作方法,谢谢了 应该不难,... 本帖最后由 xrbenbeba 于 2009-10-12 17:53 编辑
用的着这么费劲吗?
既然是域环境Microsoft的Reomte App就行了!或者直接搭一个CitriX就OK了! 用的着这么费劲吗?
既然是域环境Microsoft的Reomte App就行了!或者直接搭一个CitriX就OK了!
xrbenbeba 发表于 2009-10-12 17:51 http://www.autoitx.com/images/common/back.gif
没有用过这两个软件,能不能搞两个图看看? 我很久以前有写过游戏菜单。如果你开个共享同步配置文件的话,应该可以达到你的要求。
这代码是旧版本的AU3,新版本的不能编译。
如果对你有帮助的话,可以免费给你。
不过代码很乱,也没什么技术含量。
页:
[1]
2