Рабочий стол перекрыт сверху компонентом ListView. Вам просто необходимо
взять хэндл этого органа управления. Пример:
function GetDesktopListViewHandle: THandle;
var
S: String;
begin
Result := FindWindow("ProgMan", nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S) <> "SysListView32" then
Result := 0;
end;
После того, как Вы взяли тот хэндл, Вы можете использовать API этого
ListView, определенный в модуле CommCtrl, для того, чтобы манипулировать рабочим
столом. Смотрите тему "LVM_xxxx messages" в оперативной справке по Win32.
К примеру, следующая строка кода:
{Не забудьте в uses добавить CommCtrl}
ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y);
ярлыку с индексом i, задаст координаты (x,y). К примеру Мой компьютер имеет
индекс 0, т.е i:=0;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как програмным путем задавать координаты ярлыкам на рабочем столе", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!