View previous topic :: View next topic |
Author |
Message |
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Tue Apr 09, 2024 20:49 Post subject: |
|
|
iteg
А ведь необязательно загружать библиотеку в окно плагина, можно и отдельным процессом запустить, так даже лучше получается, и вам будет проще.
Сделал, вот, скрипт на скорую руку, посмотреть, что получается. Вроде ничего так.
Code: | #Requires AutoHotkey v2
#SingleInstance Force
#HotIf WinActive("peviewer ahk_class TLister") and
InStr(ControlGetClassNN(ControlGetFocus("A")),"TListView") > 0
~LButton::
{
If (A_ThisHotkey = A_PriorHotkey and A_TimeSincePriorHotkey < 200)
FileInfo
}
FileInfo()
{
if StrLen(EnvGet("COMMANDER_EXE")) = 0
{
MsgBox "Переменная %COMMANDER_EXE% не определена",, "Iconx"
Return
}
A_Clipboard := ""
Send "^c"
Sleep(100)
if !ClipWait(1)
{
MsgBox "Текст не скопирован в буфер"
return
}
if InStr(A_Clipboard, '\') = 0
Return
f:=name:=''
Loop Parse, A_Clipboard, ","
{
if A_Index = 1
name:= Trim(A_LoopField)
if (A_Index = 3)
f:=Trim(A_LoopField)
}
f:= f . name
f:=StrReplace(f, '`r`n','')
if not InStr(FileExist(f),'D')
Run EnvGet("COMMANDER_EXE") ' /S=L:Ppeviewer ' f
else
msgbox f
}
|
|
|
Back to top |
|
|
yahuu
Joined: 22 Jun 2023 Posts: 6
|
(Separately) Posted: Wed Apr 10, 2024 16:21 Post subject: |
|
|
BlackFox wrote: | yahuu wrote: | 4. It prompts that the file is occupied and cannot be deleted. |
using this plugin hundreds times a day since last 2 months - never had such a problem. Not reproducible.
Check whether you have some antivirus that check every opened file.
А вообще-то форум русскоязычный - используйте онлайн переводчики. |
Thank you, it was indeed caused by antivirus software |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Fri Apr 12, 2024 20:00 Post subject: |
|
|
BlackFox
1) BlackFox wrote: | сделать показ наличия OLE-интерфейса (наличие экспортных функций DLLRegisterServer / DLLUnregisterServer) |
Так при наличии ресурса TypeLib (маркер "COM (TYPELIB)" на Info уже сделан) предполагается COM-интерфейс и наличие функций DLLRegisterServer / DLLUnregisterServer. Или это не так? Если есть примеры файлов, то выложите.
2) BlackFox wrote: | в FileInfo при просмотре библиотеки с ActiveX в спец. вкладке показывалось расшифрованное значение TypeLib |
Разбор TypeLib уже запланировал.
3) BlackFox wrote: | Разнобой встречается в осн. в полях "Language" и "Character Set/Code Page". |
Доработаю.
Добавлено спустя 8 минут:
Orion9
Quote: | А ведь необязательно загружать библиотеку в окно плагина, можно и отдельным процессом запустить, так даже лучше получается, и вам будет проще. |
Спасибо за скрипт. Про параметры /S=L не знал. Уже реализовал. Только через запуск TC в новом процессе. Через команду cm_List не смог найти способ, как передать путь к файлу, открывает только текущий файл под курсором.
Вот тестовый вариант: https://dropmefiles.com/tO7W2
По остальным предложениям - в процессе реализации. |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Sat Apr 13, 2024 00:08 Post subject: |
|
|
Практически 🔥Только почему комбинация Ctrl+O? Разве двойной клик не лучше бы был?
Еще один момен по визуальной части. Заметил, что свойства "Подтип файла" и "Атрибуты файла" практически всегда бывают пустыми, что оставляет зиять довольно большое пространство. Думаю, что для стройности структуры вывода, лучше писать туда затененный текст, типа <Отсутствует>, <Нет информации> или что-то в этом роде. Но это надо посмотреть, как оно в действительности будет выглядеть. Но в любом случае, большое пустое пространство тоже не очень смотрится.
Ох, чуть не забыл.
Quote: | Только через запуск TC в новом процессе. Через команду cm_List не смог найти способ, как передать путь к файлу, открывает только текущий файл под курсором. |
Пусть отдельным процессом - так даже лучше, имхо. |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Sat Apr 13, 2024 23:50 Post subject: |
|
|
Orion9
Orion9 wrote: | Разве двойной клик не лучше бы был? |
Двойной клик уже занят под копирование содержимого ячейки в буфер обмена для списочного компонента. Ctrl+O (Open).
Quote: | свойства "Подтип файла" и "Атрибуты файла" практически всегда бывают пустыми |
Да, у большинства программ уже не проставляются данные свойства. Доработаю вывод, как целое число и описание. |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Sun Apr 14, 2024 00:25 Post subject: |
|
|
Quote: | Двойной клик уже занят под копирование содержимого ячейки в буфер обмена для списочного компонента. Ctrl+O (Open). |
Но ведь двойной клик - это стандартный вход в объект по курсором в Windows. Каждый пользователь это знает и ожидает получить в окне приложения, особенно там, где это напрашивается. И на мой взглад, здесь это тоже напрашивается |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Sun Apr 14, 2024 02:58 Post subject: |
|
|
Тестовый вариант с изменениями:
- формата "Тип файла", "Подтип файла", "Атрибуты файла" и "Целевая ОС".
- использовать чередование строк для ListView из меню настроек.
- пока изменил на Space для "Открыть в плагине". Посмотрю, как совместить двойной клик.
https://dropmefiles.com/ueFr1 |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Wed Apr 17, 2024 00:50 Post subject: |
|
|
iteg
Ну, это уже лучше! Хотя на счет зебры не уверен, но поля "Тип файла", "Подтип файла", "Атрибуты файла" и "Целевая ОС" смотрятся гораздо лучше.
Пробел весьма удобен, т.ч. даже не знаю, стоит ли заморачиваться с двойным кликом. Можно и так оставить, имхо.
Когда я говорил про подсветку, я больше имел в виду расцветку. Конечно, это дело очень индивидуальное, но попробовать стоит.
Вот пара мыслей. Всю информацию, которая не представляет большого интереса и важности можно затенить. (шрифтом, который менее выделяется). Сюда входит - пустые поля (с нулевым значением), повторяющиеся поля (с одинаковым значением), даты создания и открытия файла, хэши и, возможно, что-то еще. При этом, если значения повторяются, то одно значение должно, конечно, выделяться, как и дата изменения файла. Важные поля (Название продукта, Название компании и т.д), напротив, можно и красить и выделять жирным, но тут главное не перестараться. На поле "Язык" можно повесить флаги, можно и другие значки придумать - главное, чтобы красиво смотрелось. В общем, пробуйте, эксперементируйте, фантазируйте! И не беспокойтесь, что может плохо получиться. Если что, мы вам всегда скажем.) |
|
Back to top |
|
|
BlackFox
Joined: 18 Dec 2004 Posts: 42 Location: Mayence
|
(Separately) Posted: Thu Apr 18, 2024 12:49 Post subject: |
|
|
iteg wrote: |
1) при наличии ресурса TypeLib (маркер "COM (TYPELIB)" на Info уже сделан) предполагается COM-интерфейс и наличие функций DLLRegisterServer / DLLUnregisterServer. Или это не так? Если есть примеры файлов, то выложите. |
для COM обязателен Typelib (и это показывается уже сейчас, да), для OLE - нет. Пример - любой DirectShow фильтр: там всегда есть функции
Code: | DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer |
но это не СОМ объект и, соотв, не имеет TypeLib. Поэтому хотелось бы такие случаи тоже сразу видеть, не залезая во вкладку экспорта.
iteg wrote: |
2) Разбор TypeLib уже запланировал.
| Ок. ждём.
iteg wrote: |
3) Доработаю. | Аналогично 2
Добавлено спустя 13 минут:
iteg wrote: | Тестовый вариант с изменениями:
- пока изменил на Space для "Открыть в плагине". Посмотрю, как совместить двойной клик.
| я сначала интуитивно пытался нажать F3 на этих DLL - как из тотала вызывается этот плагин, так же и ещё раз его вызывать для дальнейших действий. Не? |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Sat Apr 20, 2024 16:35 Post subject: |
|
|
BlackFox
1) Добавление маркера для OLE реализовал по наличию в экспорте функций DllRegisterServer и DllUnregisterServer.
2) Доработал вывод полей LanguageName и CodePageName.
Orion9
Про расцветку - пометил в ToDo.
Т.к. до релиза очень далеко, то тестовые сборки буду выкладывать здесь.
Реализовал новый функционал для VirusTotal. Смотрите настройки главного меню. Параметры применяются при следующем запуске приложения.
(-/-) - статус значит, что данных о файле с указанным хешем на virustotal нет.
(BR) - Bad request.
https://dropmefiles.com/xNZKl |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Sun Apr 21, 2024 11:20 Post subject: |
|
|
Quote: | (-/-) - статус значит, что данных о файле с указанным хешем на virustotal нет.
(BR) - Bad request. |
Что-то я не совсем понял, где это должно отображаться. А с вызовом меню по F3 вы хорошо придумали.) |
|
Back to top |
|
|
BlackFox
Joined: 18 Dec 2004 Posts: 42 Location: Mayence
|
(Separately) Posted: Sun Apr 21, 2024 22:37 Post subject: |
|
|
Orion9 wrote: | Что-то я не совсем понял, где это должно отображаться. | в начале строки virustotal. Только это надо включить в настройках (у меня само было включено): Settings -> VirusTotal -> Get file status |
|
Back to top |
|
|
iteg
Joined: 01 Dec 2011 Posts: 69
|
(Separately) Posted: Mon Apr 22, 2024 00:07 Post subject: |
|
|
Orion9
Quote: | Что-то я не совсем понял, где это должно отображаться. |
По умолчанию опция включена. Результат отображается в начале ссылки virustotal, если успешно получен ответ.
Тестовая версия 3.0.13.5:
- на вкладке 'CLR Header' отображается список установленных '.Net Framework' в системе.
https://dropmefiles.com/v7TSH |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 209
|
(Separately) Posted: Mon Apr 22, 2024 00:52 Post subject: |
|
|
BlackFox
iteg
Да вроде стояла у меня эта галочка, только никаких отличий не заметил. Вот в галочке Use Old Link отличие в ссылке вижу. И интернет сейчас специально отрубал, а изменений в статусе не вижу. |
|
Back to top |
|
|
BlackFox
Joined: 18 Dec 2004 Posts: 42 Location: Mayence
|
(Separately) Posted: Mon Apr 22, 2024 14:47 Post subject: |
|
|
это с первой настройкой.
А у вас что показывается?
@iteg
детект OLE работает, хексы в значениях языков - тоже. Спасибо! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|