Wednesday, April 20, 2011

thumbnail

Windows Controls in WPF Auto Login Facebook

Xaml

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:winForms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="TestFacebookLogin" Height="1050" Width="1680">




CS File

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Forms;


namespace Nasrullah.WPF
{
///
/// Interaction logic for TestFacebookLogin.xaml
///

public partial class TestFacebookLogin : Window
{
public TestFacebookLogin()
{
InitializeComponent();

LoginFacebook.Enabled = false;
}



private void LoadFacebook_Click(object sender, EventArgs e)
{
WebBrowser1.Navigate("https://login.facebook.com/login.php?login_attempt=1");
WebBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}

void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
string s = WebBrowser1.DocumentText;
LoginFacebook.Enabled = true;
}
private void LoginFacebook_Click(object sender, EventArgs e)
{
HtmlElement ele = WebBrowser1.Document.GetElementById("email"); if (ele != null)
ele.InnerText = "nasrullah.mahar@gmail.com";

ele = WebBrowser1.Document.GetElementById("pass"); if (ele != null)
ele.InnerText = "password";

ele = WebBrowser1.Document.GetElementById("Login"); if (ele != null)
ele.InvokeMember("click");
}





}
}

Tuesday, April 12, 2011

thumbnail

Digital Perona Integration with WPF

1. Enrollment

Xaml


xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="frmEnrollment" Height="700" Width="1000">







Code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.IO;

using Nasrullah.Properties;
using Nasrullaht.Controller;

namespace Reactive.ActivityControl.Register
{
///

/// Interaction logic for frmEnrollment.xaml
///

public partial class frmEnrollment : Window, DPFP.Capture.EventHandler
{


private DPFP.Capture.Capture Capturer;
delegate void Function();

private DPFP.Processing.Enrollment Enroller;
public delegate void OnTemplateEventHandler(DPFP.Template template);
public event OnTemplateEventHandler OnTemplate;

private Int32 customerId;

public frmEnrollment(pCustomer customer)
{
customerId = customer.ID;

InitializeComponent();

Init();

Enroller = new DPFP.Processing.Enrollment(); // Create an enrollment.

Start(); // Start
}

protected virtual void Init()
{
try
{
Capturer = new DPFP.Capture.Capture(); // Create a capture operation.

if (null != Capturer)
Capturer.EventHandler = this; // Subscribe for capturing events.
else
SetPrompt("Can't initiate capture operation!");
}
catch
{
SetPrompt("Can't initiate capture operation!");
}
}

protected void Process(DPFP.Sample Sample)
{
// Process the sample and create a feature set for the enrollment purpose.
DPFP.FeatureSet features = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Enrollment);


// Check quality of the sample and add to enroller if it's good
if (features != null) try
{
SetPrompt("The fingerprint feature set was created.");
Enroller.AddFeatures(features); // Add feature set to template.
}
finally
{

// Check if template has been created.
switch (Enroller.TemplateStatus)
{
case DPFP.Processing.Enrollment.Status.Ready: // report success and stop capturing
// OnTemplate(Enroller.Template);
// Call Login and pass in template.
SetPrompt("Click Close, and then click Fingerprint Verification.");
Stop();

// Set stream for array of bytes
MemoryStream ms = new MemoryStream(Enroller.Template.Bytes);

bool status = false;

pCustomerDetail icustomerdetailobj = new pCustomerDetail();
icustomerdetailobj.CustomerID = customerId;
icustomerdetailobj.FingerTemplate = ms.ToArray(); // save array of bytes in DB

bCustomerDetail bCustomerdetailobj = new bCustomerDetail();
status = bCustomerdetailobj.SaveCustomerDetail(icustomerdetailobj);
if (!status)
MessageBox.Show("Information not saved successfully");
else
{
MessageBox.Show("Information saved successfully");

//Closet the current window
this.Dispatcher.Invoke(new Function(delegate()
{
Stop();
this.Close();

}));
}


break;

case DPFP.Processing.Enrollment.Status.Failed: // report failure and restart capturing
Enroller.Clear();
Stop();
OnTemplate(null);
Start();
break;
}
}
}

protected void Start()
{
if (null != Capturer)
{
try
{
SetPrompt("Using the fingerprint reader, scan your fingerprint.");
Capturer.StartCapture();
}
catch
{
SetPrompt("Can't initiate capture!");
}
}
}

protected void Stop()
{
if (null != Capturer)
{
try
{
Capturer.StopCapture();
}
catch
{
SetPrompt("Can't terminate capture!");
}
}
}

#region EventHandler Members
public void OnComplete(object Capture, string ReaderSerialNumber, DPFP.Sample Sample)
{
SetPrompt("The fingerprint sample was captured.");
Process(Sample);
}

public void OnFingerGone(object Capture, string ReaderSerialNumber)
{
SetPrompt("The finger was removed from the fingerprint reader.");
}

public void OnFingerTouch(object Capture, string ReaderSerialNumber)
{
SetPrompt("The fingerprint reader was touched.");
}

public void OnReaderConnect(object Capture, string ReaderSerialNumber)
{
SetPrompt("The fingerprint reader was connected.");
}

public void OnReaderDisconnect(object Capture, string ReaderSerialNumber)
{
SetPrompt("The fingerprint reader was disconnected.");
}

public void OnSampleQuality(object Capture, string ReaderSerialNumber, DPFP.Capture.CaptureFeedback CaptureFeedback)
{
if (CaptureFeedback == DPFP.Capture.CaptureFeedback.Good)
SetPrompt("The quality of the fingerprint sample is good.");
else
SetPrompt("The quality of the fingerprint sample is poor.");
}
#endregion

protected DPFP.FeatureSet ExtractFeatures(DPFP.Sample Sample, DPFP.Processing.DataPurpose Purpose)
{
DPFP.Processing.FeatureExtraction Extractor = new DPFP.Processing.FeatureExtraction(); // Create a feature extractor
DPFP.Capture.CaptureFeedback feedback = DPFP.Capture.CaptureFeedback.None;
DPFP.FeatureSet features = new DPFP.FeatureSet();
Extractor.CreateFeatureSet(Sample, Purpose, ref feedback, ref features); // TODO: return features as a result?
if (feedback == DPFP.Capture.CaptureFeedback.Good)
return features;
else
return null;
}



private void SetPrompt(string Text)
{
this.Dispatcher.Invoke(new Function(delegate()
{
textBox1.Text = Text;
}));
}


}
}


2. Verification

Xaml

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Verification" Height="700" Width="1000">






About me

simple one.