Страница: 1 | 2 |
Вопрос: Определение программ по-умолчанию VB 2005
Добавлено: 15.04.06 00:31
Автор вопроса: AlexDerS
Ответы
Всего ответов: 18
Номер ответа: 16
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #16
Добавлено: 17.04.06 02:13
Я бы сказал.. несколько по другому.. это.. ГЕМОРРОЙ НА ВСЮ ЗАДНИЦУ!!!
Понадобилась мне тут как-то SHGetFileInfo.. и знаешь что из этого вышло??
Public Structure SHFILEINFO
Public hIcon As IntPtr
Public iIcon As IntPtr
Public dwAttributes As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
Public szTypeName As String
End Structure
Public Class Form1
Private Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" ( _
ByVal pszPath As String, _
ByVal dwFileAttributes As Integer, _
ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, _
ByVal uFlags As Integer) As Integer
Private Const SHGFI_DISPLAYNAME = &H200
Private Const SHGFI_TYPENAME = &H400
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fPath As String = "Путь к файлу"
Dim fInfo As New SHFILEINFO
SHGetFileInfo(fPath, 0, fInfo, Marshal.SizeOf(fInfo), SHGFI_DISPLAYNAME Or SHGFI_TYPENAME)
Console.WriteLine(fInfo.szDisplayName)
End Sub
End Class
После этого я понял.. что лучше 5-10 минут потрачу на поиски нужного класса или метода, чем буду пытаться вызывать API.. Ибо в .NET это крайне неблагодарное занятие.. ))
Номер ответа: 17
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #17
Добавлено: 17.04.06 02:23
Я посмотрел класс FileInfo и решил на этом остановиться
Полностью согласен.
З.Ы. У меня начинает складываться ощущение, что .NET вполне самодостаточная технология...
Номер ответа: 18
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #18
Добавлено: 17.04.06 02:37
Даже не сомневайся в этом.. просто надо научиться использовать всю её мощь в полном объеме.