Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 9

Получение координат значков на рабочем столе

12.04.2015, 09:01. Показов 4928. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется написать программу, которая выводит координаты всех иконок на рабочем столе. Пробовал сделать по готовому решению, найденному в интернете:
Кликните здесь для просмотра всего текста

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses CommCtrl;
var i, k:Integer;
 XYold,  XY : Array[1..100] of TPoint;
CurPos:TPoint;
 
function GetHandle: 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;
 
function GetXY(hwndLV: HWND; i: Integer; var ppt:
TPoint): Bool;
var PointBuf : ^TPoint;
begin
try
PointBuf := VirtualAlloc(NIL,Sizeof(TPoint),
$8000000 or MEM_COMMIT, PAGE_READWRITE);
Result := Bool( SendMessage(hWndLV,
LVM_GETITEMPOSITION, i, Longint(PointBuf)));
if Result then begin
ppt.x := PointBuf^.x;
ppt.y := PointBuf^.y;
end;
finally
VirtualFree(PointBuf,0,MEM_RELEASE);
end;
end;
 
procedure TForm1.btn1Click(Sender: TObject);
begin
i:=SendMessage(GetHandle,LVM_GETITEMCOUNT,0,0);
for k:=1 to i do 
begin
GetXY(GetHandle,k-1,XYold[k]);
mmo1.Lines.add(IntToStr(XYold[k].x) + ':' + IntToStr(XYold[k].y));
end;
end;


В результате чего в Memo выводится:
Кликните здесь для просмотра всего текста

0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0
0:0

(29 нулей), т.е. координаты аннулированы. Искал и другие решения, вывод один и тот же.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2015, 09:01
Ответы с готовыми решениями:

Изменить размер значков на рабочем столе
Можно ли в 7-ке изменить размер значков на рабочем столе как в хр? Копался в настройках ничего не нашел :( может просто еще не проснулся...

Нет ни окон, ни значков на рабочем столе
Чистая установка Windows 10 x64. После установки драйвера nvidia на видеокарту 760GTX пропадают значки, значки в трее, нет окон на раб....

Сбился дефолтный порядок значков на рабочем столе
Доброго времени суток. У меня проблема - сбился дефолтный порядок значков на рабочем столе. Перед этим запускал старенькую игрушку...

22
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 9
14.04.2015, 19:06  [ТС]
Студворк — интернет-сервис помощи студентам
volvo, почему-то Ваш пример с выводом текста (LVM_GETITEMTEXT) на Delphi 7 у меня не канает, выводит пустую строку.

Добавлено через 1 минуту
После выполнения программы зависает "Проводник" и в Memo1 выводится пустой символ
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33459 / 21559 / 8248
Регистрация: 22.10.2011
Сообщений: 37,016
Записей в блоге: 12
14.04.2015, 19:07
Я на Дельфи 7 не работаю, и сразу предупредил об этом. На всех доступных мне компиляторах код проверен, и Дельфи, и Лазарус, и С++, и Ада. Везде он работоспособен. Что происходит в Д7 - знать не хочу, очень устаревшая версия.
1
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 9
15.04.2015, 11:28  [ТС]
Всем безумно благодарен за помощь. Огромное спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2015, 11:28

Убрать синию тень у значков на рабочем столе
Как избавиться от этого

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

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

Внезапная смена кодировки документов и значков на рабочем столе
С утра старые и вновь загруженные файлы не читаются. На всём, даже на панели изображения - иконка Word Pad. &quot;Управление...

Во время загрузки чёрный экран и слетает порядок значков на рабочем столе
Здравствуйте! Проблема такова: Включаю компьютер, вроде всё запускается, но на экран ничего не выводится, просто чёрный экран. По звуку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru