Войти

Показать полную графическую версию : [решено] Координаты иконок рабочего стола


McLotos
28-03-2012, 15:54
Где в реестре лежат координаты иконок рабочего стола?

Blast
28-03-2012, 16:04
Не думаю, что они есть в реестре. Может расскажете в чем проблема и мы попробуем ее решить без волшебного реестра?
Могу предположить, что спасет маленькая утилита типа DesktopOK (http://soft.oszone.net/program/13390/DesktopOK/)

McLotos
28-03-2012, 16:09
Blast,
Понимаете, готовим спец сборку для фирмы, и для абсолютных юзверей, все иконки всех необходимых программ разбросаны по рабочему столу по определённой логике, но есть нюанс, имеется необходимость учитывать формат монитора, ну т.е. нужно чтобы при любом разрешении иконки рабочего стола соблюдали эту логику

Думаю нужно сделать какой-то скрипт, который в зависимости от разрешения экрана пропишет нужные значения в реестр

Blast
28-03-2012, 16:11
McLotos, можно попробовать покопаться с AutoIt, пример навскидку: Windows XP Desktop Icon coordinates (http://www.autoitscript.com/forum/topic/62461-windows-xp-desktop-icon-coordinates/)

McLotos
28-03-2012, 16:14
Да, я вот тоже сначала подумал об AutoIt, но вот только опыта работы с ним маловато.

Blast
28-03-2012, 16:17
Мне кажется это оптимальным вариантом. Не знаю возможно ли учитывать разрешение (и нужно ли это, ведь координаты по осям).
Давайте переместимся в специализированный форум по AutoIt (http://forum.oszone.net/forum-103.html) и спросим у специалистов.

McLotos
28-03-2012, 20:24
Хорошая идея,Blast, кстати, спасибо что переместили, и вообще за помощь! =)

McLotos
29-03-2012, 10:09
А как определить формат монитора?
Ну т.е. сейчас у меня сделано так
$sp=@DesktopWidth & " X " & @DesktopHeight

Switch $sp
Case "1280 X 1024"
$sa=$sp
Case "1280 X 960"
$sa=$sp
Case "1280 X 768"
$sa=$sp
Case "1280 X 720"
$sa=$sp
Case "1280 X 600"
$sa=$sp
Case "1115 X 864"
$sa=$sp
Case "1024 X 768"
$sa=$sp
Case "800 X 600"
$sa=$sp
EndSwitch

MsgBox(64,"Параметры дисплея", $sa)
Топорный вариант, но думаю для первого скрипта пойдёт.
Этот скрипт просто выводит сообщение на дисплей, а как сделать чтобы он учитывал разницу между широкоформатным монитором и квадратным?
На самом деле вместо $sa=$sp везде будут разные данные, индивидуально под каждый формат дисплея

Yashied
01-04-2012, 19:32
Где в реестре лежат координаты иконок рабочего стола? »

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop




© OSzone.net 2001-2012