Написал просмотрщик графических файлов, а как сделать так чтобы ассоциированные с ней файлы сразу загружались в ImageList, из которого пикчурбокс загружает картинку?
Чтобы счелк-счелк и фсё, как в acd-see? =)
P.S: и как узнать путь, в котором файл был кликнут (это для занесения в переменную, которая отвечает за CommonDialog1.InitDir, чтобы открывая его путь был прежний для удобства). Подскажите кто знает, плиз!
Вот как Гуглей по VBNet.Ru искать. Просто и эффективно (иногда)
http://www.google.com/search?hl=ru&q=site%3Avbnet.ru+%D0%98%D1%81%D0%BA%D0%BE%D0%BC%D1%8B%D0%B9+%D1%82%D0%B5%D0%BA%D1%81%D1%82&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
Запустить приложение, ассоциированное с расширением файла
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Function startdoc(DocName As String)
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
startdoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", 1)
End Function
Private Sub Command1_Click()
Dim r As Long
'укажите путь к вашему файлу
r = startdoc(":\garbage\garik.xls"
End Sub
Или так...
Предположим, у вас есть файл в формате htm. Вам необходимо открыть его в программе по умолчанию (у большинства это ИнтернетЭксплорер). Данный код запустит Эксплорер и откроет в своем окне указанный вами htm-файл.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWMAXIMIZED = 3
Запустить приложение, ассоциированное с расширением файла
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Function startdoc(DocName As String)
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
startdoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", 1)
End Function
Private Sub Command1_Click()
Dim r As Long
'укажите путь к вашему файлу
r = startdoc(":\garbage\garik.xls"
End Sub
Или так...
Предположим, у вас есть файл в формате htm. Вам необходимо открыть его в программе по умолчанию (у большинства это ИнтернетЭксплорер). Данный код запустит Эксплорер и откроет в своем окне указанный вами htm-файл.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWMAXIMIZED = 3
----------------
Не помню с какого сайта этот пример.
Гм.. Это всё несколько не то, что мне нужно. Наверное я не очень корректно объяснил что надо. Я написал программу, которая работает с графическими файлами. Теперь мне нужно, чтобы вместо проги ACD-see файлы *.jpg, *.bmp и т.п открывались именно моей прогой, а не ACD-see. Для этого мне нужно дописать кусок кода, который бы при запуске проги брал бы файл, помещал бы его в ImageList. И всё. Этот имаджлист создан для пикчурбокса, из которого происходит отображение данного файла.
Как ассоциировать файлы с прогами знают даже дети.. Но вот мне надо чтобы при открытии моей проги (когда щелкают на каком-нибудь .jpg) он уже помещался в ImageList1. Понимаете?
Ну, во первых, хоть убей непонимаю нахрена тебе менять АЦДЦ, он в разы быстрее любого ВБ картинки загрузит, во вторых, если тебе уж так приперло клизьмировать свой комп, то тебе прямая дорога в HKEY_CLASSES_ROOT, там исчеш расширения фаилов, которые хочеш перегнать под свою прогу, там по дефолту стоит нечто вроде етого: mp3file, идеш дальше по реестру и исчеш ету дрянь, она находится здесь HKEY_CLASSES_ROOT\mp3file, ну если немного знаком с англииским - разберешся, если нет, то путь к проге задаеш здесь HKEY_CLASSES_ROOT\mp3file\shell\open\command, там же можеш менять настроики иконок, итд.итп. а чтобы прога возврасчала тебе путь к фаилу, то регистрируэш свою прогу к типу фаилов, который тебе нужен, в проге по загрузке можеш считать путь к фаилу через command, пример - сделай кнопку на форме и кинь в нее msgbox command, скомпилируй с сохранением всех путей в реестре, открой зарегистририванный тобою фаил и кликни кнопку, если нигде не напортачиш, будет работать, и выдаст тебе путь к фаилу, а дальше забивай в любые переменные.
я сеичас на работе, и вб под рукой нету, но в имэдж фаилы загрузить можно кажется чрез loadpicture но я неуверен, тысячу лет уже за ВБ не садился, позабыл все нафиг(((