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

JavaScript – Como obter dados de uma janela do tipo POPUP

JavaScript – Como obter dados de uma janela do tipo POPUP

Abaixo um exemplo de como abrir e obter dados de uma janela popup , neste caso, utilizei o potencial da linguagem orientada a objeto JavaScript.

Criei um projeto simples de exemplo, que pode ser baixado através do link:

https://skydrive.live.com/redir?resid=55163E95BEEDE6FC!5363&authkey=!ANqp-ajUBz-8oVU

Basicamente criei duas páginas, sendo que na página default.aspx , coloquei os seguintes scripts:

    function getValueModal() {

        //seta a página popup
        var url = './popup.aspx';

        //crio um novo objeto
        var obj = new Object();

        //crio e seto a propriedade nome
        obj.nome = '';

        //chamo a função (abaixo) que irá abrir a nova janela
        //note que set o objeto obj para receber o retorno
        //importante também é popular o  window.returnValue na função localizada no página popup. 
       obj = WindowOpenModal(url, obj, 600, 400);
        
        if (obj != null) {
            document.getElementById('txtexemplo').value = obj.nome
          }
    }


    //função para formatar e abrir a nova janela tipo modal / popup
    function WindowOpenModal(page, name, w, h) {
        var vLargura
        var vAltura
        if (w == null && h == null) {
            vLargura = ScreenWidth() - 200;
            vAltura = ScreenHeight() - 100;
        }
        else {
            vLargura = w;
            vAltura = h;
        }
        return window.showModalDialog(page, name, 'dialogwidth: ' + vLargura + 'px; dialogheight: ' + vAltura + 'px;resizable:no;center:yes;scroll:yes;');
    }

Na página popup.aspx , os seguintes scripts foram colocados

function Seleciona(nome) {

    var mObj = new Object();
    mObj.nome = unescape(nome);
    //define a propriedade do valor de retorno da janela aberta 
    window.returnValue = mObj;
    window.close();
}

Baixe o projeto exemplo e experimente…

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);
}
}
}

Amazon AWS SES – Como utilizar o serviço de envio de emails da Amazon

Para quem ainda não conhece o serviço da Amazon Simple Emais Send (SES) , uma dica seria uma leitura em: http://aws.amazon.com/pt/ses/ 

Basicamente, você precisará baixar “The Amazon Web Services SDK for .Net” , em seguida adicionar a referência no seu projeto do assembly AWSSDK.dll

Vamos ao exemplo:

using Amazon.SimpleEmail; 
using Amazon.SimpleEmail.Model;

     static void Main(string[] args)
        {
            List listColl = new List();
            listColl.Add("DESTINO@DESTINO");


            AmazonSimpleEmailServiceClient amazonEmail = new AmazonSimpleEmailServiceClient("chave", "secret");

            SendEmailRequest mailObj = new SendEmailRequest();
            Destination destinationObj = new Destination(listColl);
            mailObj.Source = "ivaldo@nnetsistemas.com"; //from
            mailObj.ReturnPath = "ivaldo@nnetsistemas.com"; //to
            mailObj.Destination = destinationObj;

            Amazon.SimpleEmail.Model.Content emailSubjectObj = new Content("assunto");
            Amazon.SimpleEmail.Model.Content emailBodyContentObj = new Content("text...");  
  
            Amazon.SimpleEmail.Model.Body emailBodyObj = new Body();
            //emailBodyObj.Html = emailBodyContentObj;
            emailBodyObj.Text = emailBodyContentObj;
            
            Message emailMessageObj = new Message(emailSubjectObj, emailBodyObj);
            mailObj.Message = emailMessageObj;
            var response = amazonEmail.SendEmail(mailObj);
  
        }

Classe Stopwatch para marcar o tempo decorrido

 Stopwatch é uma classe no. NET Framework que é ideal para cronometrar qualquer operação em seus programas, muito útil para análise do tempo de processamento de uma thread ou tarefa no software.

Abaixo um exemplo de código.

 using System;

using System.Diagnostics;
using System.Threading;

class Program
{
    static void Main()
    {
	//instanciamos e criamos o obj
	Stopwatch stopwatch = new Stopwatch();

	// O método Start diz o objeto do cronômetro para armazenar a hora atual internamente.
	stopwatch.Start();

	// criamos um loop inútil, apenas um exemplo...
	for (int i = 0; i < 1000; i++)
	{
	    Thread.Sleep(100);
	}

	// paramos o cronômetro
	stopwatch.Stop();

	// Imprimimos o tempo decorrido
	Console.WriteLine("Tempo decorrido: {0}", stopwatch.Elapsed);
    }
}

Paralelismo de dados com Parallel.ForEach

Este exemplo mostra como usar um loop Parallel.ForEach para permitir o paralelismo de dados sobre qualquer System.Collections.IEnumerable ou System.Collections.Generic.IEnumerable .

 using System;

using System.Collections.Generic;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{


static void Main(string[] args)
{

//crio uma lista System.Collections.Generic.List como exemplo
List lista = new List();
lista.Add("teste1");
lista.Add("teste2");
lista.Add("teste3");
lista.Add("teste4");
lista.Add("teste5");
lista.Add("teste6");

//Um loop foreach funciona como um loop.

Parallel.ForEach(lista, i => 

{
Console.Write("{0}", i);
});

Console.ReadKey();

}


}
}

C# – Como criar uma lista dos softwares instalados no micro

C# – Como criar uma lista dos softwares instalados no micro

Veja neste exemplo como criar uma lista simples dos softwares instalados no microcomputador e que são  passíveis de desinstalação.

Este exemplo foi baseado em cima de um código elaborado para saber se um determinado software já estava instalado no micro do usuário.


Pegue o exemplo neste link [download]


JQUERY – Sorteando um item dentro de um elemento HTML do tipo lista

No código abaixo exemplifico como sortear aleatoriamente um item localizado dentro de um elemento html do tipo lista , neste caso, foi utilizado o elemento <ul>, ou seja uma lista não ordenada.

Neste código, foi usado a biblioteca JQUERY e a linguagem JAVASCRIPT.

Os códigos fontes você poderá baixar através deste link: [código fonte

Ivaldo de Oliveira é desenvolvedor sênior de softwares