如何控制桌面图标在桌页上的位置?(编程控制)

解决方案 »

  1.   

    你能不能说清楚一些呢??
    桌面本身就是一个ListView呀!!!!
      

  2.   


    以下是获得桌面句柄函数
    function TForm1.GetDesktopHand: THandle;
    begin
      Result:=FindWindow('progman',nil);
      Result:=GetWindow(Result,GW_Child);
      Result:=GetWindow(Result,GW_Child);
    end;var
      N:integer;//N是桌面上的第几个图标。
      Hand: THandle;
      X, Y : Word;//X,Y就是图标的坐标啦!自己给个值它吧。
    begin
      n:=0;
      Hand:=GetDesktopHand;
      SystemParametersInfo(SPI_GetWorkArea,0,@TempRect,0);  
      SendMessage(Hand,LVM_SetItemPosition,N,MakeLparam(X, Y));  
    end;