Silverlight – Como desativar o evento disparado no click do botão direito do mouse

Silverlight – Como desativar o evento disparado no click do botão direito do mouse

Uma solução interessante para desativar o menu de contexto apresentado como padrão em uma aplicação silverlight, seria criar um novo manipulador de evento conforme código mostrado abaixo.

private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
            Application.Current.RootVisual.MouseRightButtonDown += 
                new System.Windows.Input.MouseButtonEventHandler(RootVisual_MouseRightButtonDown);  

        }

        void RootVisual_MouseRightButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            e.Handled = true;
        }

Existem outras alternativas, como por exemplo, utilizar código javascript para manipular o evento no nível do plugin.

Para baixar o projeto exemplo, clique aqui!

https://docs.google.com/open?id=0B8NN4AoTW8vOa0FsSXduSS1Sd3M

Silverlight – lendo um arquivo texto no micro cliente

Utilizando Silverlight acessamos o microcomputador do cliente, localizamos e fazemos uma leitura de uma arquivo texto.

  private string[] LerArquivo()

        {

            string[] arq = null;
            if (AutomationFactory.IsAvailable){

                using (StreamReader sr = new StreamReader("c:\arq.txt"))
                {

                    arq = sr.ReadToEnd().Split(Environment.NewLine.ToCharArray());

                }

            }

            return arq;

        }

Silverlight – Executando uma app no micro cliente

Através de uma aplicação Silverlight acessamos o micro do cliente e executamos aplicações.

No exemplo abaixo, é mostrado um código utilizando a classe AutomationFactory visando a execução de um objeto que permite o acesso ao Shell do Windows… Neste caso, apenas executamos um arquivo.bat .

private void ExecutarArquivo()

{
if (AutomationFactory.IsAvailable)
{
using (dynamic wScript = AutomationFactory.CreateObject("WScript.Shell"))
{
wScript.Run("c:\teste.bat", 0, true);
}
}
}