Свойства группы файлов или контекстное меню проводника

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

773FF
Обычный пользователь
Обычный пользователь
 
Сообщения: 86
Зарегистрирован: 07.02.2008 (Чт) 10:51

Свойства группы файлов или контекстное меню проводника

Сообщение 773FF » 01.02.2009 (Вс) 15:51

Клепаю нечто вроде проводника. Вызываю диалог "свойства файлов" так:
Код: Выделить всё
    Public Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (ByRef SEI As SHELLEXECUTEINFO) As Integer

    Public Const SEE_MASK_INVOKEIDLIST = &HC
    Public Const SEE_MASK_NOCLOSEPROCESS = &H40
    Public Const SEE_MASK_FLAG_NO_UI = &H400

    Public Structure SHELLEXECUTEINFO
        Dim cbSize As Integer
        Dim fMask As Integer
        Dim hwnd As Integer
        Dim lpVerb As String
        Dim lpFile As String
        Dim lpParameters As String
        Dim lpDirectory As String
        Dim nShow As Integer
        Dim hInstApp As Integer
        Dim lpIDList As Integer
        Dim lpClass As String
        Dim hkeyClass As Integer
        Dim dwHotKey As Integer
        Dim hIcon As Integer
        Dim hProcess As Integer
    End Structure

    Public Sub ShowProps(ByRef FileName As String, ByRef OwnerhWnd As Integer)
        Dim SEI As SHELLEXECUTEINFO = Nothing
        Dim r As Integer
        With SEI
            .cbSize = Len(SEI)
            .fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
            .hwnd = OwnerhWnd
            .lpVerb = "properties"
            .lpFile = FileName
            .lpParameters = vbNullChar
            .lpDirectory = vbNullChar
            .nShow = 0
            .hInstApp = 0
            .lpIDList = 0
        End With
        r = ShellExecuteEX(SEI)
    End Sub

'Вызов свойств файла
Dim MyPath As String = "C:\MyFile.txt"
Call ShowProps(MyPath, Me.Handle.ToInt32)
'работает, если в "дополнительных параметрах компилятора" установлен "конечный ЦП": x86


Но это только только для одного файла, а если выбрана группа файлов, то проводник отображает их совместные свойства (размер и т.п.) и Total Commander тоже. В Total Commander похоже прикрутили к items контекстное меню проводника, читал, что это можно как-то сделать в DELPHI, но вот как в VB.NET? Какую функцию API можно использовать?

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList  
cron