Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Por padrão, os arquivos não são destinos de descarte. Você pode transformar os membros de um tipo de arquivo em alvos de descarte implementando e registando um manipulador de descarte .
Se um manipulador de arrastar e soltar estiver registado para um tipo de ficheiro, ele será chamado sempre que um objeto for arrastado ou solto em um membro do tipo de ficheiro. O Shell gerencia a operação chamando os métodos apropriados na interfaceIDropTarget do manipulador.
Os procedimentos gerais para implementar e registrar um manipulador de extensão Shell são discutidos em Criando manipuladores de extensão Shell. Este documento se concentra nos aspetos da implementação que são específicos para manipuladores de drop.
Instruções
Etapa 1: Implementando manipuladores de arrastar e soltar
Como todos os manipuladores de extensão do Shell, os manipuladores de arrasto e soltar são objetos COM (Component Object Model) em execução interna implementados como DLLs. Eles exportam duas interfaces além IUnknown: IPersistFile e IDropTarget.
O Shell inicializa o manipulador por meio de sua interface IPersistFile. Ele usa essa interface para solicitar o identificador de classe do manipulador (CLSID) e fornece o nome do arquivo. Para obter uma discussão geral sobre como implementar manipuladores de extensão do Shell, incluindo a interface IPersistFile, consulte Criando manipuladores de extensão do Shell.
Depois de o gestor de descarte ser inicializado, o Shell invoca o método apropriado na interface IDropTarget do gestor.
Etapa 2: Registar manipuladores de arrastar e soltar
Os manipuladores de drops são registrados na subchave desse tipo de arquivo.
HKEY_CLASSES_ROOT
ProgID
shellex
DropHandler
Crie uma subchave de DropHandler nomeada para o manipulador e defina o valor padrão da subchave como a forma de cadeia de caracteres do GUID CLSID do manipulador. Para obter uma discussão geral sobre como registrar manipuladores de extensão do Shell, consulte Criando manipuladores de extensão do Shell.
O exemplo a seguir ilustra entradas do Registro que habilitam um manipulador de drops para um tipo de arquivo .myp de exemplo.
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
CLSID
{00000000-1111-2222-3333-444444444444}
InProcServer32
(Default) = C:\MyDir\MyCommand.dll
ThreadingModel = Apartment
MyProgram.1
(Default) = MyProgram Application
shellex
DropHandler
(Default) = {00000000-1111-2222-3333-444444444444}
Tópicos relacionados