[已解决]如何检测桌面上的图标数量
本帖最后由 yang3114 于 2012-4-11 17:12 编辑如何检测桌面上的图标数量 下面函数是获取并保存桌面图标位置的,$iCount - 1 就是桌面图标数量!
在论坛搜索 '桌面图标' 会获得更多信息.(友情提示: 善用论坛搜索, 学习效果事半功倍)Func _SaveIconCoor()
$var = FileSaveDialog("选择保存的位置", @ScriptDir, "配置文件(*.ini)", 16)
If Not ($var = "") Then
If FileExists($var) Then FileDelete($var)
If Not (StringRight($var, 4) = ".ini") Then $var = $var & ".ini"
$iCount = ControlListView($hWndManager, "", $hWndDesktop, "GetItemCount")
For $iIndex = 0 To $iCount - 1
$sName = ControlListView($hWndManager, "", $hWndDesktop, "GetText", $iIndex)
$xy = _GUICtrlListView_GetItemPosition($hWndDesktop, $iIndex)
IniWrite($var, "图标位置", $iIndex, $sName & "|" & $xy & "|" & $xy)
Next
MsgBox(0, "成功", "保存成功", 1)
EndIf
EndFunc ;==>_SaveIconCoor 试一下我的:
; 显示当前目录所有文件的文件名
Local $search = FileFindFirstFile(@DesktopDir&"\*.*")
; 检查搜索是否成功
If $search = -1 Then
MsgBox(0, "错误", "没有匹配搜索模式的文件或目录")
Exit
EndIf
Local $n = 1
While 1
Local $file = FileFindNextFile($search)
$n+=1
If @error Then ExitLoop
WEnd
FileClose($search)
MsgBox(0,"","共找到"&$n&"个桌面图标")
楼上的代码,很好,谢谢! 回复 3# apoorman1986
一般使用的'桌面目录"有两个:
@DesktopCommonDir
@DesktopDir 回复 3# apoorman1986
但是这样不会计算如计算机 回收站 网上邻居 这类非.lnk快捷方式的图标$iCount = ControlListView("Program Manager", "", "SysListView321", "GetItemCount")
MsgBox (0,"图标数目",$iCount)把user3000提供的代码其中的关键部分提取来单独测试 在WIN7上通过 不知道还有什么不妥没有。
页:
[1]