Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2009, 21:30   #1
Обледеневший
 
Регистрация: 14.09.2009
Сообщений: 9
По умолчанию Программно перетащить ярлык на рабочем столе Windows

Собсно хотел спросить где можно почитать что-нить, что может помочь при по реализации на с++
Обледеневший вне форума Ответить с цитированием
Старый 15.09.2009, 21:40   #2
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

winApi тебе в помощь
GonZaleZ вне форума Ответить с цитированием
Старый 15.09.2009, 21:57   #3
Обледеневший
 
Регистрация: 14.09.2009
Сообщений: 9
По умолчанию

Вопрос был в том кто-что может посоветовать почитать по данной тематике, приминительно для с++.

Последний раз редактировалось Обледеневший; 15.09.2009 в 22:06.
Обледеневший вне форума Ответить с цитированием
Старый 15.09.2009, 22:43   #4
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

а чем тебе winApi не с++?
ну или mfs... учебников по этому поводу предостаточно
GonZaleZ вне форума Ответить с цитированием
Старый 15.09.2009, 22:57   #5
АНК
Пользователь
 
Регистрация: 01.09.2009
Сообщений: 30
По умолчанию

Включаем Яндекс и вот вам
http://www.delphirus.com/modules.php...owpage&pid=832
или
http://delphiworld.narod.ru/base/cre...n_desktop.html
АНК вне форума Ответить с цитированием
Старый 16.09.2009, 00:02   #6
GonZaleZ
Пользователь
 
Регистрация: 19.06.2009
Сообщений: 57
По умолчанию

человек же не делфи просил))
GonZaleZ вне форума Ответить с цитированием
Старый 16.09.2009, 01:24   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

там всеравно АПИ
переделать не трудно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.09.2009, 02:46   #8
DarkElf_89
Пользователь
 
Регистрация: 05.09.2009
Сообщений: 22
По умолчанию

Ну вы это, ему немного не тот материал подкинули ...)) Вот кое что по теме, так сказать в каком направлении копать ...
Код:
#include <commctrl.h>

 //получаем хэндл рабочего стола как бы, потом хэндлы дочерних элементов  ...
 HANDLE r=FindWindow("ProgMan",NULL);
 r= GetWindow(r, GW_CHILD);
 r= GetWindow(r, GW_CHILD);

 //получаем количество иконок на рабочем столе
 int cnt=SendMessage(r,LVM_GETITEMCOUNT,0,0);
 //отправляя сообщение LVM_GETITEMTEXT, можем узнать имя иконки, 
 третьим параметром для SendMessage указываем номер иконки. 
 Здесь точно не скажу как сделать, читал что так просто имя иконки не взять, нужно читать с памяти другого процесса, 
 но добить это дело не хватило терпения)))
 
 TPoint xy;     //здесь будем хранить позицию иконки
 SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy);  //запишет в xy позицию иконки с номером i
 //изменяя xy.x и xy.y , зададим новую позицию
 SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy);  //и установим для иконки новую позицию на столе))
как видите, чистый WinAPI ... Заранее извиняюсь если что не совсем правильно написал, просто сейчас ради интереса экспериментировал, текст иконок так и не получилось считать, но насчитал таким способом на столе 26 ярлыков - оказалось что верно )))))
DarkElf_89 вне форума Ответить с цитированием
Старый 16.09.2009, 03:25   #9
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
а чем тебе winApi не с++?
WinApi к С++ и близко не относится..
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 16.09.2009, 18:51   #10
Обледеневший
 
Регистрация: 14.09.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от DarkElf_89 Посмотреть сообщение
Ну вы это, ему немного не тот материал подкинули ...)) Вот кое что по теме, так сказать в каком направлении копать ...
Код:
#include <commctrl.h>

 //получаем хэндл рабочего стола как бы, потом хэндлы дочерних элементов  ...
 HANDLE r=FindWindow("ProgMan",NULL);
 r= GetWindow(r, GW_CHILD);
 r= GetWindow(r, GW_CHILD);

 //получаем количество иконок на рабочем столе
 int cnt=SendMessage(r,LVM_GETITEMCOUNT,0,0);
 //отправляя сообщение LVM_GETITEMTEXT, можем узнать имя иконки, 
 третьим параметром для SendMessage указываем номер иконки. 
 Здесь точно не скажу как сделать, читал что так просто имя иконки не взять, нужно читать с памяти другого процесса, 
 но добить это дело не хватило терпения)))
 
 TPoint xy;     //здесь будем хранить позицию иконки
 SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy);  //запишет в xy позицию иконки с номером i
 //изменяя xy.x и xy.y , зададим новую позицию
 SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy);  //и установим для иконки новую позицию на столе))
как видите, чистый WinAPI ... Заранее извиняюсь если что не совсем правильно написал, просто сейчас ради интереса экспериментировал, текст иконок так и не получилось считать, но насчитал таким способом на столе 26 ярлыков - оказалось что верно )))))
пасибо ))) буду копать =)))
Обледеневший вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кнопка на рабочем столе guffer Общие вопросы Delphi 3 08.07.2009 12:15
Создать иконку на рабочем столе Михаил Юрьевич Win Api 6 15.04.2009 12:55
Значки на рабочем столе Xardas Свободное общение 4 01.03.2008 20:21
SpeedButton на рабочем столе ERASERROR Общие вопросы Delphi 10 22.01.2008 16:58
html на рабочем столе >AdepT< Win Api 4 28.02.2007 20:06