Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как создать свой тип файлов программно

1.9K
04 июня 2007 года
tva94
115 / / 01.05.2007
Вот интерестная задача: мне надо, чтобы какой-то тип файлов открывался с помощью моей проги. Желательно исходник. Заранее благодарен
18K
04 июня 2007 года
un_named
60 / / 24.04.2007
???
Долго я думал... и плакал...
Начни с формата .txt и выводи оттуда всё. Каждый байт. Как есть.
А если речь всё-таки о том, как открыть файл, то используй такие функции вин апи:
CreateFile - открываем файл
SetFilePointer - помещаем файловый указатель нужное место
ReadFile - читаем с этого места
CloseHandle - закрываем файл
стандартное предопределенное окно открыть файл вызывается функцией - GetOрenFileName.
518
06 июня 2007 года
Andreika
101 / / 14.02.2003
Конечно хотелось бы более внятную формулировку вопроса...
Если тебе хочется сделать, чтобы по двойному щелчку на каком-то файле ТВОЕГО типа запускалась твоя прога и открывала его, то нужно в реестре прописать тип файла в секции HKEY_CLASSES_ROOT,
а в прогу в командной строке в этом случае будет передаваться имя файла, который необходимо открыть
8.4K
09 июня 2007 года
TZA Group
120 / / 10.04.2007
Сам не пробовал но может поможет.
System::Diagnostics.Process.Start("Твоя прога","Имя файла");
8.4K
09 июня 2007 года
TZA Group
120 / / 10.04.2007
Непонел!!!А причём тут вообщё этот смайлик ?????

System.Diagnostics.Process.Start("Твоя прога","Имя файла");
242
10 июня 2007 года
Оlga
2.2K / / 04.02.2006
Цитата: TZA Group
Непонел!!!А причём тут вообщё этот смайлик ?????


очень просто: знак двоеточие и большая анг. буква D равны этому смайлику. просто надо отключать смайлы, особенно когда пишешь код на С++.
Я вот точно не поняла связь опроса автора и заданного им вопросом :confused:

1.9K
09 июля 2007 года
tva94
115 / / 01.05.2007
Да, в HKEY_CLASSES_ROOT можно чуть чего-то вписать, но что??? А отловить аргументы я умею.
31K
18 июля 2007 года
Майк Райз
4 / / 18.07.2007
Точно не помню как.Это написано в книге
"Фомин Г.В С# 2,0 в чёрном окне"
Я свою куда-то дел.
31K
20 июля 2007 года
Nickun
1 / / 20.07.2007
Все елементарно делается.
Например у нас есть расширение ADB, на которое надо повесить нашу прогу.
Код:
// проверяем наличие записей в реестре
RegistryKey RegKey = Registry.ClassesRoot.OpenSubKey(@"ADB_auto_file\shell\open\command", false);
RegistryKey IconKey = Registry.ClassesRoot.OpenSubKey(@"ADB_auto_file\DefaultIcon", false);

// если записей нету
if(RegKey == null)
{
    // создать записи
    RegKey = Registry.ClassesRoot.CreateSubKey(@".ADB");
    RegKey.SetValue("", "ADB_auto_file");
    RegKey = Registry.ClassesRoot.CreateSubKey(@"ADB_auto_file");
    RegKey.SetValue("", "Здесь описание типа файла");
    Byte[] bVal1 = {0,0,0,0};
    RegKey.SetValue("EditFlags",  bVal1);
    RegistryKey DIRegKey = RegKey.CreateSubKey(@"DefaultIcon");
    // путь к иконке
    DIRegKey.SetValue("", Application.ExecutablePath+"\\App.ico");
    RegKey = RegKey.CreateSubKey(@"shell\open");
    Byte[] bVal2 = {1,0,0,0};
    RegKey.SetValue("EditFlags", bVal2);
    RegKey = RegKey.CreateSubKey(@"command");
    // путь к программе
    RegKey.SetValue("", "\""+Application.ExecutablePath+"\" \"%1\"");
}
22K
20 июля 2007 года
MagAlex
22 / / 20.07.2007
Используй командную строку:

Assoc - Вывод или изменение связи между расширениями имени и типами файлов. Запущенная без параметров команда assoc выводит список текущих связей между расширениями имени и типами файлов.
assoc [.рсш[=[тип_файла]]]

Ftype - Вывод или редактирование связи между типом файла и его расширением. Для просмотра текущих назначений служит команда ftype без параметров.
Ftype [тип_файла[=[команда_открытия]]]

Пример:
ASSOC .my=MyFile FTYPE MyFile=Proga.exe %1
28K
22 июля 2007 года
Chugunov
8 / / 22.07.2007
Можно использовать криптографию. К примеру в своём файле букву а заменяй на я, б на и, в на д и т.д. В итоге при открытии файла в твоей проге, файл будет преобразован (надо писать преобразование), а в другой программе (например, блокнот) он откроется как текстовый файл и пользователь не поймёт, что было написано.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог