Открытие файла своим приложением - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Добрый день! создал текстовый файл со своим расширением хочу открыть его по Enter в своем приложении, но не получается хотя через командную строку все открывается подскажите что делать
прописал
Листинг программы
  1. Imports System.Reflection
  2. Imports Microsoft.Win32
  3. Public Class MainForm
  4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  5. Dim dir = Registry.ClassesRoot.CreateSubKey(".ab\shell\open\command")
  6. Dim value = """" & Assembly.GetExecutingAssembly().Location & """ ""%1"""
  7. dir.SetValue(Nothing, value)
  8. End Sub
  9. End Class
не помогает что я делаю не так? может проблема в компе? windows7, 64-bit
сделал ярлык с параметрами объект: путь до приложения пробел путь до файла (C:\VSP\SendMailAll\SendMail.exe D:\proba.smb) рабочая папка: путь до приложения (C:\VSP\SendMailAll) тоже все запускается

Решение задачи: «Открытие файла своим приложением»

textual
Листинг программы
  1. Imports System.Runtime.InteropServices
  2. Public Class frm_SenderMail
  3.  
  4.     Const SHCNE_ASSOCCHANGED As Long = &H8000000L
  5.     Const SHCNF_IDLIST As UInteger = &H0UI
  6.     <DllImport("shell32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> Public Shared Sub SHChangeNotify(ByVal wEventId As UInt32, ByVal uFlags As UInt32, ByVal dwItem1 As IntPtr, ByVal dwItem2 As IntPtr)
  7.  
  8.     End Sub
  9.     Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  10.         My.Computer.Registry.SetValue("HKEY_CLASSES_ROOT\.smb", "", "smbfile")
  11.         My.Computer.Registry.SetValue("HKEY_CLASSES_ROOT\pckfile\shell\open\command", "", """" & Application.ExecutablePath & """ %1")
  12.         My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.smb", "Application", Application.ExecutablePath)
  13.         My.Computer.Registry.SetValue("HKEY_CLASSES_ROOT\smbfile\DefaultIcon", "", Application.ExecutablePath & ",0")
  14.         SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero)
  15.  
  16.     End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы