segunda-feira, 7 de outubro de 2013

Utilizando API do Windows32

Vou mostrar como utilizar a API do Windows32, neste exemplo vou contar o tempo do clique do seu mouse.

Adicione este código em seu HTML


<div>
<strong>Testando o intervalo do click do mouse</strong><br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Clique Aqui!!!"
        Font-Italic="True" /> <br />
<br />
&nbsp;
<asp:Label ID="lblTime" runat="server" Width="136px"></asp:Label></div>

no C# referencie os namespaces:

using System.Net;
using System.Text.RegularExpressions;
using System.Text;
using System.Runtime.InteropServices;
e adicione o seguinte codigo:

    [DllImport("kernel32.dll")]
    static extern bool QueryPerformanceCounter(out long lpPerformanceCounter);
    [DllImport("kernel32.dll")]
    static extern bool QueryPerformanceFrequency(out long lpFrequency);

    protected void Page_Load(object sender, EventArgs e)
    {
        long CurrentTime;
        if (!Page.IsPostBack)
        {
            lblTime.Text = "";
            CurrentTime = 0;
            Session["UltimoClick"] = new long();
            Session["Frequencia"] = new long();
            long temp;
            if (!QueryPerformanceFrequency(out temp))
            {
                lblTime.Text = "Erro: Este servidor não suporta o contador";
                btnSubmit.Enabled = false;
            }
            Session["Frequencia"] = temp;
        }
        else
        {
            if (QueryPerformanceCounter(out CurrentTime) && (long)Session["UltimoClick"] != 0)
            {
                lblTime.Text = lblTime.Text + ((CurrentTime - (long)Session["UltimoClick"]) / (long)Session["Frequencia"]).ToString() + " segundos do último clique.<br>";
            }
            else
            {
                lblTime.Text = lblTime.Text + "Clique novamente.<br>";
            }
            Session["UltimoClick"] = CurrentTime;
        }

    }

0 comentários:

Postar um comentário