Saturday, May 11, 2013

Accessing Win32 API from VB.Net

Win32 API functions का एक collections है जो की Windows के कई special functions को contain करता है। API का application Programming Interface है। यह windows से realated कई functions का collection है। VB.Net मे provide किए गए सभी functions form पर होने वाले Tasks को access और use करने के facility provide करते हैं। इन सभी functions को application form पर रहकर ही use किया जा सकता है। form के बाहर कोई भी task इस functions से पूरे नहीं किए जा सकते हैं। Win32 ऐसे  functions provide करता है जिनका use form के बाहर और कई system tasks को perform करने के लिए किया जाता है। यह सभी functions System की DLL files मे स्टोर रहते हैं जहां से उन्हे access किया जा सकता है। VB.Net मे API functions को visual basic की तरह भी access किया जा सकता है। इसके लिए Win32 API viewer का use कर functions को select कर use declaration section मे declare करते है। और उसे फिर use किया जा सकता है। 


Public Class Form3

Private Declare Function CharLower Lib "user32" Alias "CharLowerA" (ByVal lpsz As String) As String

Private Sub Form3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click

Dim s As String = "ASHUTOSH"

s = CharLower(s)

MsgBox(s)

End Sub

End Class

VB.Net चूंकि एक object oriented language है और साथ ही यह .Net framework को support करती है इसलिए इसमें सभी win32 functions को .Net की BCL (Base class library) मे समाहित कर दिया गया है इसलिए इसमें इन सभी functions को use करने के लिए Objects का use किया जाता है जो की इसके .Net namespaces को import कर accessible होते हैं। 
इसके लिए सबसे पहले use namespace को Imports statement के द्वारा import किया जाता है फिर उसेका object create कर function को use किया जाता है। जैसे GetCurrentDirectory एक Win32 फंकशन है जिसके VB.Net मे निम्न प्रकार से use किया जाता है। 


Imports System.IO

Public Class Form3

Private Sub Form3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click

MsgBox(Directory.GetCurrentDirectory())

End Sub

End Class

इस प्रकार इसमें और कई .Net classes होती हैं जैसे


  • System

  • System.Collections.Generic

  • System.ComponentModel

  • System.Data

  • System.Drawing

  • System.Text

  • System.Windows.Forms
 

No comments:

Post a Comment

Contact us

Name

Email *

Message *