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

Вниз

путь к файлу по клику мыши   Найти похожие ветки 

 
ROBIN   (2014-09-10 21:33) [0]

как узнать путь к файлу по клику мыши в проводнике или на рабочем столе


 
Rouse_ ©   (2014-09-10 21:36) [1]

Давай начнем с начала:
Обработчик клика мыши где расположен?


 
ROBIN   (2014-09-10 21:40) [2]

я даже как -то растерялся? не думал, что кто -то будет отвечать. Извините.


 
ROBIN   (2014-09-10 21:42) [3]

Мне нужно что бы моя программа отследила клик мыши где угодно, и по чему угодно. И что бы тот объект по которому кликнули... в общем что бы я увидел путь этого объекта... Блин, надеюсь Вы поймёте :(


 
Rouse_ ©   (2014-09-10 21:53) [4]

Выглядит все достаотчно сумбурно.
Соберись и перефразируй вопрос.
Давай начнем от: "И что бы тот объект по которому кликнули... в общем что бы я увидел путь этого объекта..."

Обьектов не существует - есть окна. Пути у оконного элемента нет.
Что за путь ты хочешь получить?

(я конечно понимаю что именно тебе необходимо, но не понимаю как тебе это обьяснить - поэтому зайдем издалека).


 
ROBIN   (2014-09-10 22:35) [5]

Я написал программу которая должна запускать сторонние программы, или открывать документы, и т.д. Для создания списка всех этих запускаемых приложений нужны их адреса, т.е. пути. Интерфейс моей программы следующий - пользователь кликом мыши по любому файлу в проводнике или на рабочем столе показывает какой файл ему нужен, программа копирует этот путь себе в список в list box какоё- нибудь, й уже потом в случае надобности этот пользователь запускает нужный файл уже из моей программы, а не ищет его снова по компьютеру. Ну надеюсь теперь понятно?..


 
Rouse_ ©   (2014-09-10 22:44) [6]


> Ну надеюсь теперь понятно?..

Ясно, т.е. получается ты хочешь сделать что-то типа истории запуска файлов.
Судя по тому что ты сказал: "Я написал программу" - по сути программа у тебя уже реализована, запускать сторонние программы ты тоже умеешь и осталось (де юре) только заполнпть некий ListBox, я правильно понял?


 
ROBIN   (2014-09-10 22:53) [7]

Да, Вы всё поняли правильно. Вы теперь помочь можете?


 
Rouse_ ©   (2014-09-10 23:01) [8]

Олег Витальевичь, как бы сказать...
Технически, часть того что Вы заявили, можно сделать на уровне шела.
Но это буджет относится только к проводнику и оным вытекающим из самого шела.
Я изучил вашу биографию (извините) и вижу что Вы по сути никогда не имели отношения к программированию как к таковому, поэтому на данный момент, я конечно могу дать пару ссылок по перехвату, но боюсь они Вам не помогут.
Мой искренний совет (как земляку - мы по сути почти рядышком территориально) - наймите программиста и он Вам сделает все красиво.


 
ROBIN   (2014-09-10 23:12) [9]

Ваша помощь просто неоценима. Даже и не знаю как благодарить. Особенно мне помогло, что Вы навели обо мне справки. И совет о поиске программиста был, можно сказать, шедеврален. Однако, поскольку я ни о чём таком не просил, то всё же попытаюсь быть настойчивым, и попрошу ещё раз :
мне бы информацию о том как это можно реализовать. И Вы ведь должны понимать, что каким бы плохим программистом я не был, я искренне хочу стать лучше. поэтому и задаю подобного рода вопросы.
Надеюсь понятно объяснил...


 
Rouse_ ©   (2014-09-10 23:19) [10]

Ок, тогда сложный вариант:
Для начала учимся получать информацию с окна под курсором: http://rouse.drkb.ru/winapi.php#wndinfo
Потом учимся работать с шелом:
http://rouse.drkb.ru/winapi.php#fwoledragdrop
Потом вникаем в перехват:
http://rouse.drkb.ru/winapi.php#splice
http://rouse.drkb.ru/winapi.php#splice2

Читаем технические статьи:
http://alexander-bagel.blogspot.ru/2013/01/intercept.html
http://alexander-bagel.blogspot.ru/2013/05/intercept2.html

С уважением.

ЗЫ: ни в коем разе не хотел обидеть


 
Rouse_ ©   (2014-09-10 23:31) [11]

Уточню - все что вне рамок шела Вам придется анализировать ручками уже в обработчиках.


 
Юрий Зотов ©   (2014-09-10 23:56) [12]

А если программа запущена с клавиатуры, а не мышью? Тем более, командной строкой?


 
Юрий Зотов ©   (2014-09-11 00:13) [13]

> ROBIN   (10.09.14 23:12) [9]
> каким бы плохим программистом я не был, я искренне хочу стать лучше.

Это замечательно, но для обучения Вы выбрали совсем неподходящую задачу - слишком сложную. Ну не ставят начинающему прыгуну в высоту планку сразу на два метра. Розыч это и имел в виду, зря Вы на него обиделись.

Но если уж Вам так хочется, то зачем ловить клики? Мало ли, куда кликнул юзер, может и не по файлу вовсе. Да и с клавиатуры программу можно запустить, без всякой мыши.

Посмотрите в сторону перехвата функции CreateProcess. Это тоже не слишком просто, но все же проще (а главное, надежнее), чем выбранный Вами способ. И примеры в Сети есть.

А перехватив создание процесса, останется только получить его image file. Примеры в Сети тоже есть.


 
имя   (2014-09-11 01:33) [14]

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


 
Inovet ©   (2014-09-11 06:25) [15]

Не лучше ли воспользоваться стандартным drag-and-drop?


 
имя   (2014-09-11 07:37) [16]

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


 
sniknik ©   (2014-09-11 10:09) [17]

был у нас менеджер, тоже хотел странного, иногда невозможного (к примеру чтобы его по его локальному входу на ноуте в любом домене узнавали и права по нему же локальному давали, права админа)... бесился когда его "обламывали" и как-то сказал фразу "никто работать не хочет, простых вещей не понимают, да если бы я умел программировать давно бы сам сделал!"... на его беду сказал за неделю до дня рождения, на него ему естественно подарили книжку "PHP за 21 день" (или "PHP для чайников" что-то вроде в общем). еще через пару недель он уволился. и что характерно через 21 день назад в новом качестве не вернулся. :)

... куда автор делся? к нему со всей душой, объясняют, практически в виде исключения. а он ... ;(


 
icWasya ©   (2014-09-11 14:35) [18]

А если использовать Драг-энд-Дроп?
Схватить объект и перетащить на Вашу форму?


 
RWolf ©   (2014-09-11 15:22) [19]


> sniknik ©   (11.09.14 10:09) [17]

почему «на его беду»? человек, может, в пхпшники пошёл — можно сказать, вырос профессионально.


 
QAZ   (2014-09-11 16:10) [20]


> как узнать путь к файлу по клику мыши в проводнике или на рабочем столе

Shift+ПКМ+"копировать как путь"


 
DQ   (2014-09-11 19:13) [21]

"Объекты по которым кликают в проводнике или на рабочем столе" являются элементами ListView и в общем случае являются просто этакой таблицей с текстом. Оно не связано явно с файлами. Оно просто иллюстрирует.

"пользователь кликом мыши по любому файлу в проводнике или на рабочем столе показывает какой файл ему нужен" - извиняюсь, нафига? Добавьте как Notepad++ пункт в контекстное меню. Или как DownloadMaster из буфера обмена брать.

Кстати я как-то уже делал из буфера, и мою exe через 2 года сочли вирусом. Как с этим бороться кто-то подскажет?



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

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

Наверх




Память: 0.52 MB
Время: 0.006 c
15-1438194003
Дмитрий С
2015-07-29 21:20
2016.04.10
Оптимизация сетки бронирования автопарка.


2-1410498310
lewka
2014-09-12 09:05
2016.04.10
Определение города


15-1438101866
xayam from work
2015-07-28 19:44
2016.04.10
Как научиться запоминать сны?


15-1438153716
Kerk
2015-07-29 10:08
2016.04.10
Делаю сегодня в полдень вебинар про статический анализ, приходите


2-1410257499
Смирнов А.И.
2014-09-09 14:11
2016.04.10
список определенных url из TWebBrowser