Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: С помощью моей проги Добавлено: 01.03.07 19:42  

Автор вопроса:  Djon | Web-сайт: www.vk-book.ru
Привет.
Кто-нибудь знает как сделать что-бы картинки открывались с помощью моей проги. Как это сделать программно?
VB6
Спасибо.

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 01.03.07 20:01
Какой-такой твоей проги? Какие картинки?

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 01.03.07 20:02
Зарегистрировать расширение в реестре на свою прогу, а в проге использовать COMMAND$.

Ответить

Номер ответа: 3
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #3
Добавлено: 01.03.07 20:07
Зарегистрировать расширение в реестре на свою прогу, а в проге использовать COMMAND$.


Можно поподробней.

Какой-такой твоей проги? Какие картинки?


Моей прогрой написанной мною на ВБ. Картинки какие. хм... разные.

Ответить

Номер ответа: 4
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #4 Добавлено: 01.03.07 20:13

Если нужно из программы загрузить to LoadPicture(path)
если при выборе из проводника
то глоб. переменная COMMAND$ содержит путь выбранного файла
Private Sub Form_Load()
MsgBox Command$
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #5 Добавлено: 01.03.07 20:21
Конкретно о чем подробней? :)
Найди в инете класс для работы с реестром.
в HKEY_CLASSES_ROOT региструется расширение, которое ты хочешь открывать своей программой.
т.е. файл с этим расширением будет параметром в твоей программе.
А вообще, в сетапах есть такие функции.

В Command$ находятся параметры, с которыми запустилась твоя программа. Например:
MyProg.exe pic.jpg

В Command$ будет находится pic.jpg
msgbox Command$

Ответить

Номер ответа: 6
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #6 Добавлено: 01.03.07 20:56
Извиняюсь:не HKEY_CLASSES_ROOT, а HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
Пример:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg]
"ProgID"="ACDSee.jpg"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\OpenWithList]
"a"="ACDSee5.exe"
"MRUList"="caedb"
"b"="irftp.exe"
"c"="Photoshop.exe"
"d"="vb6.exe"
"e"="Maxthon.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\OpenWithProgids]
"jpegfile"=hex(0):
"ACDSee.jpg"=hex(0):

Ответить

Номер ответа: 7
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #7 Добавлено: 02.03.07 10:31
Вообще-то расширение регится именно в HKEY_CLASSES_ROOT

Ответить

Номер ответа: 8
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #8 Добавлено: 02.03.07 12:01
2Viper: Загляни в реестр, и найди в HKEY_CLASSES_ROOT, с помощью какой проги открывать jpg,bmp и т.п.?
Для каждого юзера регится отдельно по-моему...

Ответить

Номер ответа: 9
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #9 Добавлено: 02.03.07 14:02
посмотри, в каком именно разделе (я смотрю, появились разногласия) WinAMP помещает данные о себе в качестве программы к открытию MP3 файлофф. Идея ясна?

Ответить

Номер ответа: 10
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #10 Добавлено: 02.03.07 14:30
посмотри, в каком именно разделе (я смотрю, появились разногласия) WinAMP помещает данные о себе в качестве программы к открытию MP3

По картинкам там и смотрел. :)

Ответить

Номер ответа: 11
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #11 Добавлено: 02.03.07 14:32
Arseny, у тебя WinXP SP2 и на компе нет больше юзерофф окромя "администратора" - тебя? Если есть, то возможны, как я думаю, другие варианты.

Ответить

Номер ответа: 12
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #12 Добавлено: 02.03.07 14:45
Есть и другие, я потому и говорю про текущего юзера (HKEY_CURRENT_USER)

Ответить

Номер ответа: 13
Автор ответа:
 Bonapart



ICQ: 175256 

Вопросов: 32
Ответов: 108
 Web-сайт: team16.tut.su
 Профиль | | #13
Добавлено: 02.03.07 19:27
не моё но ладно

1. "Крутейшая" программа должна обрабатывать командную строку,
 а именно брать оттуда путь и имя этого файла...
 2. Смотрим, а не висит ли уже кто-либо на этом типе файлов....
 Раздел [HKEY_CLASSES_ROOT\.ext], параметр [по умолчанию]
 Пример: tmpStr = GetKeyValue(HKEY_CLASSES_ROOT, FileExt, "";)
 ;(Здесь FileExt - строковая константа, см. полный пример...)
 Если никого нет, то tmpStr будет равно "".
 3. Если никого нет, то создаем свой раздел DefaultReg, если кто-то уже
 прицепился, то добавляем в его раздел (то есть в tmpStr).
Далее смотри код примера... Я даже комментариев понаписал...
 ;(сколько смог...)
Полный пример (VB Код):

'Комментарии излишни по-моему...
Private FullPathAndFileName As String
Private CmdLine As String

'Определяет делать ли вообще то о чем идет речь...
Private Const UpdReg As Boolean = True

'Определяет ставить наше действие "по умолчанию" или нет...
Private Const UpdDefault As Boolean = True

'Расширение на которое подвешиваем свою программу...
Private Const FileExt As String = ".rom"

'Имя своего раздела в реестре если на этом типе файлов еще никто не висит...
'(само имя ни на что не влияет)
Private Const DefaultReg As String = "ROMfile"

'Действие, которое будем делать над файлом
Private Const DefaultAct As String = "Convert"

'Название действия, которое будем делать над файлом
'(Проводник именно эту надпись выведет по правой кнопке)
Private Const DefaultActName As String = "Преобразовать"

'Описание файлов с таким расширением...
Private Const ExtDescription As String = "Asm Output file"


'Я это ставлю на Form_Load....
Private Sub Form_Load()
Dim tmpStr As String

        'Определяем свой путь и имя файла
        FullPathAndFileName = App.Path
        If Right(App.Path,1) <> "\" Then FullPathAndFileName = FullPathAndFileName & "\"
        FullPathAndFileName = FullPathAndFileName & App.EXEName & ".exe %1"
    
    
If UpdReg Then'А надо ли в реестр-то писать? [const]
    
    'Считываем на предмет "висит" ли кто на этом типе файлов...
    tmpStr = GetKeyValue(HKEY_CLASSES_ROOT, FileExt, "";)

    If tmpStr = "" Then'Если никто не висит...
        tmpStr = DefaultReg
'Делаем свою запись на это расширение
        UpdateKey HKEY_CLASSES_ROOT, FileExt, "", tmpStr
'Присобачиваем свое описание таких файлов...
        UpdateKey HKEY_CLASSES_ROOT, tmpStr, "", ExtDescription
    End If

    If UpdDefault Then
'Ставим свое действие "по умолчанию"
UpdateKey HKEY_CLASSES_ROOT, tmpStr & "\shell", "", DefaultAct
    End If

    'Прописываем название действия
    UpdateKey HKEY_CLASSES_ROOT, tmpStr & "\shell\" & DefaultAct, "", DefaultActName
    'Прописываем пути и имя нашей программы....
    UpdateKey HKEY_CLASSES_ROOT, tmpStr & "\shell\" & DefaultAct & "\command", "", FullPathAndFileName

End If

    'И пошла командная строка...
    CmdLine = Command
    CmdLine = Trim(CmdLine)

vbrussian.com

Ответить

Номер ответа: 14
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #14
Добавлено: 03.03.07 08:31
Спасибо ребята.

Ответить

Номер ответа: 15
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #15 Добавлено: 05.03.07 10:53
2 Arseny, глянул, все именно там и есть. На моем компе графика открывается через ACDSee. О чем и есть соответствующие записи в HKEY_CLASSES_ROOT

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам