能够指定任何一个桌面上的图标位置。

解决方案 »

  1.   

    HWND hWndLv=GetFirstChild(GetFirstChild(FindWindow("ProgMan",NULL)))
    hWndLv是左面ListView的句柄
    然后用GetItemRect(hWndLv)得到每个图标的位置
    SetItemRect()设置每个图标的位置
    chi\
      

  2.   

    将第一个项移到(500, 500)
    HWND hPM = ::FindWindow(NULL, "Program Manager");
    HWND hShell = ::FindWindowEx(hPM, NULL, "SHELLDLL_DefView", NULL);
    HWND hSLV = ::FindWindowEx(hShell, NULL, "SysListView32", NULL);
    ListView_SetItemPosition(hSLV, 0, 500, 500); 其它要用到的消息查下msdn,
    LVM_GET打头