Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.11.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
2-1254927060
Алексей Зотов
2009-10-07 18:51
2009.11.22
Как доработать или использовать функцию Поиска?


2-1254990753
palva
2009-10-08 12:32
2009.11.22
Ошибка при работе с ADODataSet Access тип DEC


15-1253737804
Юрий
2009-09-24 00:30
2009.11.22
С днем рождения ! 24 сентября 2009 четверг


15-1253554559
Knight
2009-09-21 21:35
2009.11.22
Пользовательский интерфейс


11-1208088580
Vitaly
2008-04-13 16:09
2009.11.22
Вызов формы из DLL на KOL в приложении на VCL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский