Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.22;
Скачать: CL | DM;

Вниз

Перемещение ярлыков   Найти похожие ветки 

 
apic   (2008-07-21 14:42) [0]

У меня следующая проблема! Мне необходимо программно менять координаты расположения ярлыков на рабочем столе. Причем менять координаты необходимо в зависимости от названия ярлыка, например ярлыку "notepad" необходимо установить координаты х=100, у=200.


 
oldman ©   (2008-07-21 14:54) [1]

кому менять?
себе?
пользоателю?

У меня, например, ярлыки стоят так, как надо мне.
Поменяешь - убью!


 
apic   (2008-07-21 15:07) [2]

Зачем и кому я меняю это мой понт! Прошу от сарказма воздержаться! Не знаете решение проблемы, не надо засарять форум, а за помощь буду благодарен!


 
Vlad Oshin ©   (2008-07-21 15:17) [3]

uses CommCtrl;

procedure TForm3.Button1Click(Sender: TObject);
var
i,x,y:integer;

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;

begin
  i:=2;
  x:=150;
  y:=150;
  ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y);
end;


 
apic   (2008-07-21 15:38) [4]

Большое спасибо Vlad Oshin, но у меня уже есть подоюный кусок кода, вся проблема в том, как узнать порядковый номер ярлыка с названием "notepad" или "MS Office", к примеру...


 
Vlad Oshin ©   (2008-07-21 16:30) [5]

не получилось, делал так

procedure TForm3.Button1Click(Sender: TObject);
var
i,DT,x,y:integer;
aa: TLVFindInfo;

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;

begin
  x:=150;
  y:=150;
  DT:=GetDesktopListViewHandle;

// думаю тут надо как-то поиграться, хелп почитать
  aa.flags:=LVFI_STRING or LVFI_PARTIAL;
  aa.psz:=pchar("txt");
  i:=ListView_FindItem(DT,-1,aa);


  ListView_SetItemPosition(DT,i,x,y);
end;


 
Rouse_ ©   (2008-07-21 16:40) [6]


> ListView_SetItemPosition

А структурку кто в чужое ВАП перемещать будет? :)
Что-то наподобие этого должно быть:
http://delphimaster.net/view/2-1215465648/


 
oldman ©   (2008-07-21 16:47) [7]


> apic   (21.07.08 14:42)  
>  например ярлыку "notepad" необходимо установить координаты
> х=100, у=200.


Не забудь проверить, не находится ли по этим координатам другой (очень нужный) ярлык...


 
apic   (2008-07-23 07:23) [8]

Всем спасибо, сейчас все попробую!


 
apic   (2008-07-23 07:23) [9]

Удалено модератором


 
apic   (2008-10-29 10:20) [10]

Все получилось!


 
Rouse_ ©   (2008-10-29 14:03) [11]

Эмм... ты три месяца что-ли пробовал? :))))


 
apic   (2008-10-30 08:18) [12]

Нет через три месяца до инета добрался, так надоже отблагодарить!!!!



Страницы: 1 вся ветка

Текущий архив: 2009.11.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
15-1250569118
Дуб
2009-08-18 08:18
2009.11.22
Новосибирск Мастак пати


2-1254797177
Серый
2009-10-06 06:46
2009.11.22
как распечатать запрос Adoquery


9-1182769583
MegaVolt
2007-06-25 15:06
2009.11.22
После тесселяции как убрать щели между треугольниками,?


2-1253626479
Fr
2009-09-22 17:34
2009.11.22
Перебор форм


9-1183546787
Жидкое стекло
2007-07-04 14:59
2009.11.22
Эффект горячего воздуха