Узнать имя файла на котором кликнул
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Узнать имя файла на котором кликнул - 2012-01-03 19:33:48.703333
|
|
|
ashkalovps3
Сообщений: 9
Оценки: 0
Присоединился: 2012-01-03 19:26:10.916666
|
Как в windows узнать имя файла включая путь к нему, на котором был произведен клик в windows. Нужно чтоб это имя, записывалось в файл например "appnamefile.txt". Буду благодарен за помощь! :)
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 01:00:13.810000
|
|
|
ashkalovps3
Сообщений: 9
Оценки: 0
Присоединился: 2012-01-03 19:26:10.916666
|
блин, что никто не подскажет???
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 01:46:13.133333
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
Тебе нужно поставить хук, проверять имя приложения и окна в котором сработал хук. У рабочего стола и директорий класс окна SysListView32.
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 01:52:47.790000
|
|
|
ashkalovps3
Сообщений: 9
Оценки: 0
Присоединился: 2012-01-03 19:26:10.916666
|
извините, я новичок.. не умею делать я хук… помогите пожалуйста..
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 02:01:40.886666
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
нашел кое-что для прояснения http://www.delphisources.ru/forum/showthread.php?t=11076 http://www.wasm.ru/forum/viewtopic.php?id=19037
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 03:51:39.346666
|
|
|
ashkalovps3
Сообщений: 9
Оценки: 0
Присоединился: 2012-01-03 19:26:10.916666
|
так двойной клик я и сам отследить могу, а вот как имя файла узнать то???
|
|
|
RE: Узнать имя файла на котором кликнул - 2012-01-04 13:35:43.680000
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
В пакете masm32 есть пример для работы с listview, контрол такой же SysListView32. Для идентификации двойного клика часть кода:
.elseif [edi.NMHDR].code == NM_DBLCLK
INVOKE ReleaseCapture
call DisplayFileName
Здесь http://vsokovikov.narod.ru/New_MSDN_API/Controls/ctrl_notifications.htm можно посмотреть другие сообщения "NM_CLICK Уведомляет родительское окно органа управления, что пользователь щелкнул левой кнопкой мыши в пределах органа управления. Уведомление NM_CLICK отправляется в форме сообщения WM_NOTIFY." сл-но можно исправить NM_DBLCLK на NM_CLICK, получим такой код:
.elseif [edi.NMHDR].code == NM_CLICK
INVOKE ReleaseCapture
call DisplayFileName
Функция DisplayFileName:
;=========================================================================
; Display the file name PROCEDURE
;=========================================================================
DisplayFileName proc
LOCAL lvi:LV_ITEM
LOCAL szBuff[256]:BYTE
INVOKE SendMessage, hList, LVM_GETNEXTITEM, -1, LVNI_FOCUSED
mov lvi.iItem, eax
mov lvi.iSubItem, 0
mov lvi.imask, LVIF_TEXT
lea eax, szBuff
mov lvi.pszText, eax
mov lvi.cchTextMax, 256
INVOKE SendMessage, hList, LVM_GETITEM, 0, addr lvi
INVOKE MessageBox, NULL, addr szBuff, addr AppName, MB_OK
ret
DisplayFileName endp
|
|
|
|
|