Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe UIPermission

Controla as permissões relacionadas às interfaces com o usuário e área de transferência. Esta classe não pode ser herdada.

Namespace:  System.Security.Permissions
Assembly:  mscorlib (em mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class UIPermission : CodeAccessPermission, 
	IUnrestrictedPermission

Eventos de entrada do usuário e de desenho em janelas são interfaces de usuário.

A permissão para usar janelas pode ser uma das seguintes opções: irrestrito, limitando a SafeTopLevelWindows, somente SafeSubWindows, ou nenhuma janela de desenho ou de usuário de entrada de evento acesso permitido. SafeTopLevelWindows e SafeSubWindows são restringidas de título e o dimensionar para evitar possíveis falsificação pelo código potencialmente perigoso.

A permissão para usar a área de transferência pode ser uma das seguintes opções: irrestrito, somente gravar ou permissão sem acesso à área de transferência.A limitação de colar impede que aplicativos potencialmente prejudiciais pegar dados da área de transferência sem o consentimento do usuário, permitindo ainda o recortar, cópia e operações de colagem quando iniciada pelo usuário através de comandos do teclado.

O exemplo de código a seguir mostra o comportamento do UIPermission métodos da classe.

ObservaçãoObservação:

O exemplo de código destina-se a mostrar o comportamento do método s , não para demonstrar seus Use.Em geral, os métodos das classes de permissão são usados pela infra-estrutura de segurança; eles não são normalmente usados em aplicativos.Geralmente, apenas os construtores são usados no código do aplicativo.Valida a instância criada ou controles de acesso a recursos usando herdadas CodeAccessPermission métodos, sistema autônomo Demand.

using System;
using System.Security;
using System.Security.Permissions;

publicclass UIPermissionDemo
{

    publicstaticvoid Main(String[] args)
    {
        IsSubsetOfDemo();
        CopyDemo();
        UnionDemo();
        IntersectDemo();
        ToFromXmlDemo();
    }

    // IsSubsetOf determines whether the current permission is a subset of the specified permission.privatestaticvoid IsSubsetOfDemo()
    {
        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
        UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows);
        CheckIsSubsetOfWindow(uiPerm1, uiPerm2);
        uiPerm1 = new UIPermission(UIPermissionClipboard.AllClipboard);
        uiPerm2 = new UIPermission(UIPermissionClipboard.OwnClipboard);
        CheckIsSubsetOfClipBoard(uiPerm1, uiPerm2);
    }
    privatestaticvoid CheckIsSubsetOfWindow(UIPermission uiPerm1, UIPermission uiPerm2)
    {
        if (uiPerm1.IsSubsetOf(uiPerm2))
        {
            Console.WriteLine(uiPerm1.Window.ToString() + " is a subset of " +
                uiPerm2.Window.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm1.Window.ToString() + " is not a subset of " +
                uiPerm2.Window.ToString());

        }
        if (uiPerm2.IsSubsetOf(uiPerm1))
        {
            Console.WriteLine(uiPerm2.Window.ToString() + " is a subset of " +
                uiPerm1.Window.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm2.Window.ToString() + " is not a subset of " +
                uiPerm1.Window.ToString());

        }
    }
    privatestaticvoid CheckIsSubsetOfClipBoard(UIPermission uiPerm1, UIPermission uiPerm2)
    {
        if (uiPerm1.IsSubsetOf(uiPerm2))
        {
            Console.WriteLine(uiPerm1.Clipboard.ToString() + " is a subset of " +
                uiPerm2.Clipboard.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm1.Clipboard.ToString() + " is not a subset of " +
                uiPerm2.Clipboard.ToString());

        }
        if (uiPerm2.IsSubsetOf(uiPerm1))
        {
            Console.WriteLine(uiPerm2.Clipboard.ToString() + " is a subset of " +
                uiPerm1.Clipboard.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm2.Clipboard.ToString() + " is not a subset of " +
                uiPerm1.Clipboard.ToString());

        }
    }
    // Union creates a new permission that is the union of the current permission// and the specified permission.privatestaticvoid UnionDemo()
    {
        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
        UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows);
        UIPermission p3 = (UIPermission)uiPerm1.Union(uiPerm2);
        try
        {
            if (p3 != null)
            {
                Console.WriteLine("The union of " + uiPerm1.Window.ToString() +
                    " and \n\t" + uiPerm2.Window.ToString() + " is \n\t"
                    + p3.Window.ToString() + "\n");

            }
            else
            {
                Console.WriteLine("The union of " + uiPerm1.Window.ToString() +
                    " and \n\t" + uiPerm2.Window.ToString() + " is null.\n");
            }
        }
        catch (SystemException e)
        {
            Console.WriteLine("The union of " + uiPerm1.Window.ToString() +
                    " and \n\t" + uiPerm2.Window.ToString() + " failed.");

            Console.WriteLine(e.Message);
        }

    }
    // Intersect creates and returns a new permission that is the intersection of the// current permission and the permission specified.privatestaticvoid IntersectDemo()
    {
        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows, UIPermissionClipboard.OwnClipboard);
        UIPermission uiPerm2 = new UIPermission(UIPermissionWindow.SafeSubWindows, UIPermissionClipboard.NoClipboard);
        UIPermission p3 = (UIPermission)uiPerm1.Intersect(uiPerm2);

        Console.WriteLine("The intersection of " + uiPerm1.Window.ToString() + " and \n\t" +
            uiPerm2.Window.ToString() + " is " + p3.Window.ToString() + "\n");
        Console.WriteLine("The intersection of " + uiPerm1.Clipboard.ToString() + " and \n\t" +
                uiPerm2.Clipboard.ToString() + " is " + p3.Clipboard.ToString() + "\n");

    }
    //Copy creates and returns an identical copy of the current permission.privatestaticvoid CopyDemo()
    {

        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
        UIPermission uiPerm2 = new UIPermission(PermissionState.None);
        uiPerm2 = (UIPermission)uiPerm1.Copy();
        if (uiPerm2 != null)
        {
            Console.WriteLine("The copy succeeded:  " + uiPerm2.ToString() + " \n");
        }

    }
    // ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a// permission with the specified state from the XML encoding.privatestaticvoid ToFromXmlDemo()
    {


        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
        UIPermission uiPerm2 = new UIPermission(PermissionState.None);
        uiPerm2.FromXml(uiPerm1.ToXml());
        bool result = uiPerm2.Equals(uiPerm1);
        if (result)
        {
            Console.WriteLine("Result of ToFromXml = " + uiPerm2.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm2.ToString());
            Console.WriteLine(uiPerm1.ToString());
        }

    }

}



System.Object
  System.Security.CodeAccessPermission
    System.Security.Permissions.UIPermission
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0
Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.