нравится
Личная панель  
Наши услуги  
 
Хочешь
- сайт без рекламы?
- прямые ссылки?
- общение и конкурсы?
Хочешь
- качать без проблем с летитбит?
 
Категории программ  
Софт хиты  
Наш опрос  
 
Чего вам хотелось бы видеть на сайте?

Софт для iOS
Софт для Android
Софт для Windows
Игры для iOS
Игры для Android
Игры для Windows
Новости IT
Фильмы
Музыку

 


Ответить
 Хороший менеджер типов фалов - искать в нете или писать самому?
#1 thexhs | 15 декабря 2008 00:02

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Нужна нормальная программа для управления типами файлов - значек назначить, контекстное меню поправить, список прог для открытия назначить...
Штаные средства Windows неудобны и медленны (и при том реализация их в 95 Виндовсе намного удобней того что сейчас в XP творится), часто аналогичную функцию можно видеть прикрученой к различным твикерам, но там она слишком аскетична и ограничена...

Некоторое время ковырялся в реестре, пытаясь разобратся как Windows это делает, в принципе теперь познаний хватает для написания аналогичной программы, вот только велосипед изобретать что то не хочется...

Кто знает хорошую программу для этого дела? Ибо часто после каждой установки программ приходится наводить порядок в типах файлов, но делать это через Свойства папки/Типы файлов терпения нехватает - тормозит слишком при чтении из реестра... Работать в REGEDIT тоже не слишком удобно...
  Перейти в начало страницы  
#21 thexhs | 15 декабря 2008 19:22

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Посмотрел, да, это оно, то что мне нужно... Но я начал свою писать уже на дельфях (хотя еще старый набросок на Билдере где то валялся, но я там слишком с ООП намудрил) а твоя на Визуал С++? Плюс у меня там в планах функционал пошире - планируется и работа с mime-types, и работа поотдельности с расширениями и типами файлов, и такие опции как "Всегда отображать расширение", "Подтверждать открытие после загрузки", "Открывать в новом окне" и "Разрешить быстрый просмотр" и еще немного работа с DDE (и не спрашивайте меня что эт такое, но опменять тоже можно)... Это конечно все планы, планы а твоя прога уже в реале существует)

  Перейти в начало страницы  
#22 InquisiTOR | 15 декабря 2008 19:25

Только зашел
  • 0

Репутация: --
Группа: Гости
Сообщений: 0
C нами с: --
Очки:
thexhs, нуу, я свою за ночь набросал :)
Написана на C#... Ты мне подробней опиши, что бы ты хотел в ней увидеть - а я уж постараюсь воплотить ^_^
  Перейти в начало страницы  
#23 alpex | 15 декабря 2008 19:28

Общительный дример
  • 51

Репутация: 134
Группа: Посетители
Сообщений: 361
C нами с: 15.09.2008
Очки: 1768
thexhs, привет. Я еще на работе, но уже ухожу. На вип насобирал?

--------------------
Простите все кто мне не мил,
Простите, что гляжу по-волчьи.
Я слишком долго всех любил.
Спасибо. Отучили. Сволочи...
  Перейти в начало страницы  
#24 InquisiTOR | 15 декабря 2008 19:29

Только зашел
  • 0

Репутация: --
Группа: Гости
Сообщений: 0
C нами с: --
Очки:
Прошу, на сайте во вкладке "Issues" отписываться о найденных ошибка, пожеланиях и т.д. - мне так удобнее ^_~
  Перейти в начало страницы  
#25 thexhs | 15 декабря 2008 19:31

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Цитата alpex
thexhs, привет. Я еще на работе, но уже ухожу. На вип насобирал?

Привет. Ага, только с моим инетом безразницы что с випа, что с летитбита :biggrin:
  Перейти в начало страницы  
#26 thexhs | 15 декабря 2008 19:34

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Ага, ошибко-пожелание уже там) Проблема с поиском...
  Перейти в начало страницы  
#27 InquisiTOR | 15 декабря 2008 19:37

Только зашел
  • 0

Репутация: --
Группа: Гости
Сообщений: 0
C нами с: --
Очки:
thexhs, это не баг, это фича :)))))
Поиск работает по листбоксу, в котором, все типы файлов... То есть надо найти расширение 7z, ищем там ".7z", то есть точка обязательна...
В последствии точка будет как необязательный параметр :) я уже думал над этим...
Пока только с точкой.
К утру будет более стабильная версия...
  Перейти в начало страницы  
#28 thexhs | 15 декабря 2008 19:39

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Точно, в ней в точке дело :biggrin: На том же 7z и проверил)
  Перейти в начало страницы  
#29 InquisiTOR | 16 декабря 2008 16:18

Только зашел
  • 0

Репутация: --
Группа: Гости
Сообщений: 0
C нами с: --
Очки:
Обновлено!!!

Download - http://code.google.com/p/filetypetweaker/downloads/list

P.S. Данное обновление на сегодняшний день - последнее!
  Перейти в начало страницы  
#30 thexhs | 16 декабря 2008 22:05

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Процес написания мной аналогичной проги потихоньку продвигается, но так как решил использовать WinAPI (основная причина - выучив ф-ции WinAPI смогу использовать опыт почти в всех средах разработки под Windows, а если ограничу себя TRegistry то остается только Дельфи и Билдер). Пока что моя утилита умеет получать с реестра список зарегистрированных расширений, считывать описание и тип файла выбранного расширения...

Как раз на описании я и застрял, когда программа пытается считаьт описание в котором есть кирилические буквы, например "точечный рисунок" то выдает пустую строку, хотя "bitmap image", к примеру считывает без проблем... Я так понял причниа в многократом преобразовании типов данных (интерфес работает с типом AnsiString в то время как WinAPI фции принимают только PAnsiChar и PChar)

Может кто знает как решить?
  Перейти в начало страницы  
#31 AlexSlipknot | 16 декабря 2008 23:26

Активный дример
  • 68

Репутация: 1809
Группа: Посетители
Сообщений: 902
C нами с: 29.10.2008
Очки: 7549
thexhs, еси б на делфи,то PChar(AnsiString('text'))
Вот я больше по TRegistry, а он на висте не всегда работает(на глюконутой висте lol ). Для этого хотел бы узнать больше про ВинАпи. Я предлагаю обменяться опытом... Тока как?

--------------------
Slipknot Corp.

  Перейти в начало страницы  
#32 VS Adamant | 16 декабря 2008 23:35

Только зашел
  • 0

Репутация: 0
Группа: Посетители
Сообщений: 0
C нами с: 5.12.2008
Очки: 226
Советую файловый менеджер Directory Opus9. Там есть такая фича и куча других хороших вещей. Для меня лучший файловый менеджер, даже перешел полностью на нее (заменив ею виндозовский explorer)

Directory Opus - мощная альтернатива Проводнику с настраиваемым интерфейсом, встроенным ftp-клиентом, внутренней поддержкой архивов, просмотром изображений, встроенным командным языком, настраиваемыми горячими клавишами для управления и очень большим числом других полезных при работе с файлами опций. Например, поиск дубликатов, безвозвратное удаление файлов, поддержка SSL и SSH/SFTP, конвертирование графики и т.д.

Читаем и затем качаем самую последнюю версию (Directory Opus 9.1.1.5.3222 Rus) с лекарством на русском языке от сюда ->
http://www.cwer.ru/directory_opus_9_1_1_5_3222_rus
  Перейти в начало страницы  
#33 Skyfire | 16 декабря 2008 23:43

Активный дример
  • 68

Репутация: 7
Группа: Посетители
Сообщений: 910
C нами с: 13.10.2008
Очки: 1064
VS Adamant, ненадо рекламу
  Перейти в начало страницы  
#34 VS Adamant | 17 декабря 2008 00:00

Только зашел
  • 0

Репутация: 0
Группа: Посетители
Сообщений: 0
C нами с: 5.12.2008
Очки: 226
Цитата Skyfire
VS Adamant, ненадо рекламу

Да вы правы. Да и вообще нужно забанить этот сайт. Как ни глянешь. Одна реклама софта. Да и автору этого топика не нужно отвечать.

ЗЫ. Да и чуть не забыл - ненадо пишется раздельно, вот так НЕ НАДО. А так вы конечно правы. НЕНАДО выкладывать ссылки на другие сайты.
test
  Перейти в начало страницы  
#35 thexhs | 17 декабря 2008 00:34

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Файловый менеджер посмотрим... Если там действительно "есть такая фича" - тогда это и не реклама)

AlexSlipknot19, По поводу обмена опытом - могу выложить пока что описания тех функций из WinAPI которые у меня уже работают.
  Перейти в начало страницы  
#36 thexhs | 17 декабря 2008 00:41

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
RegOpenKey(Key: HKey; SubKey: PChar; var Result: HKey): Longint;
Открыть подраздел KeySubKey и возвращает Handle на него в переменной Result. Если раздела с таким именем нет, то он не создается. Возврат - код ошибки или ERROR_SUCCESS, если успешно.

В моем случае RegOpenKey(HKEY_CLASSES_ROOT,nil,Result); где Result служил дескриптором.

Аналогично и закрытие ключа:

RegCloseKey(Key: HKey): Longint;
Закрывает раздел, на который ссылается Key. Возврат - код ошибки или ERROR_SUCCESS, если успешно.

У меня такой код: RegCloseKey(Result);

С этим пока что поблем не было, обработку ошибок пока что отложил на потом, вызываю их как процедуры, не обрабатывая возвращаемый параметр.
  Перейти в начало страницы  
#37 VS Adamant | 17 декабря 2008 00:51

Только зашел
  • 0

Репутация: 0
Группа: Посетители
Сообщений: 0
C нами с: 5.12.2008
Очки: 226
Цитата thexhs
Файловый менеджер посмотрим... Если там действительно "есть такая фича" - тогда это и не реклама)

Установки->Типы файлов.
  Перейти в начало страницы  
#38 AlexSlipknot | 17 декабря 2008 01:15

Активный дример
  • 68

Репутация: 1809
Группа: Посетители
Сообщений: 902
C нами с: 29.10.2008
Очки: 7549
thexhs, вот код на чтение :

procedure TForm3.FormCreate(Sender: TObject);
var
org:tregistry;
begi
n org:=tregistry.Create;
org.RootKey:=HKEY_LOCAL_MACHINE;
org.OpenKey('SOFTWAREMicrosoftWindows NTCurrentVersion',false);
Edit1.Text:=org.ReadString('RegisteredOwner');
end;

в данном случае показывает зарегистрированного пользователя

--------------------
Slipknot Corp.

  Перейти в начало страницы  
#39 thexhs | 17 декабря 2008 01:27

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
VS Adamant, Посмотрел... такая фича есть. но не все поддается изменению и не в самой удобной форме(... Хотя работает шустро, не сравнить с тем временем пока Проводник считывает список расширений из реестра (Да и вообще прога вроде хорошая, спасибо))... Все таки я ищу (и пишу, так как что то нет уверенности в положительном результате поисков) программу, которая имеет эту фичу основной функцией, тоесть только управление типами файлов и ничего более...
  Перейти в начало страницы  
#40 thexhs | 30 декабря 2008 21:22

Активный дример
  • 68

Репутация: 30
Группа: Посетители
Сообщений: 810
C нами с: 11.11.2008
Очки: 2006
Да, упомянутая мной проблема с нечитабельностью кирилицы была решена), банальным копированием одной строчки, об этом поподробней.

Для чтения используется функция

RegQueryValue(Key: HKey; SubKey: PChar; Value: PChar; var cb: Longint): Longint;

Возвращает текстовую строку, связанную с ключом KeySubKey.Value - буфер для строки; cb- размер, на входе - размер буфера, на выходе - длина возвращаемой строки. Возврат - код ошибки.

Тоесть, первый параметр - дескриптор ключа, в моем случае опять ветвь HKEY_CLASSES_ROOT, в принципе с другими я и не буду работать в этой программе (разе что какието настройки хранить в реестре, как и все нормальные программы, или лучше ini файлы?)
Далее подключ реестра, далее указываем имя перменной куда будем писать считанные данные и последний параметр - размер переменной Value (после исполнения функция туда запишет длинну считаной строки)

Особое внимание следует оказать типам данных (хоть и в описании фции указан PChar но у меня она согласилась работать только с PAnsiChar) и переменной буфера

procedure TForm1.extReadingData(Ext : AnsiString); //моя процедура, которая считывает данные по типам файлов с реестра, как параметр получает расширение, пока что считывает тип файла
var
Result : HKEY;
ExtPC, TypePC : PAnsiChar;
BufferPC : PAnsiChar;
BufferR: array[0..1000] of ansichar;
Size : Integer;
begi
n ExtPC := PAnsiChar(Ext);
BufferPC := BufferR;
Size := sizeof(BufferR);
RegOpenKey(HKEY_CLASSES_ROOT,nil,Result);
RegQueryValue(Result, ExtPC, BufferPC, Size);
lbeTypes.Text := StrPas(BufferPC); //вывод данных в Labeled Edit
RegCloseKey(Result);
end;


Вариант, предложенный AlexSlipknot19, намного короче :biggrin:

З.Ы, проблема содержалась в том, что эта процедура обнуляла Size после выполнения, а я снизу приписал аналогичный кусок кода, и не учел нулевой длинны строки, в результате ничего и не получал на екране...
  Перейти в начало страницы  
 
 
 
Ответить Быстрый ответ
 
 

  Сейчас: 23 ноября 2024 08:13


Новое на форуме  
Топ в разделе за месяц  
Windows 10 Optima Pro 22H2 19045.5011 x64
Оптимальные настройки скорости и производительности, делают эту сборку незаменимым помощником…
Скачать >>
Windows 11 24H2 Enterprise LTSC 26100.1742 Stable
Сборка на основе оригинального образа Windows 11 24H2 LTSC, удалены приложения и процессы…
Скачать >>

Новости магазинов  
   
© DREAMPROGS 2004 - 2018.
Связь с администрацией. По вем вопросам. Не забудьте указать свой e-mail.
Сервер предоставлен компанией Host-UA: Украинский хостинг провайдер
    uaRating  
    MyCounter - Ваш счётчик