jueves, 2 de julio de 2009

Controlling Window State Of Other Applications using VB.NET

API.vb

 

Imports System.Runtime.InteropServices

 

Friend Class API

 

    <DllImport("user32.dll")> _

    Public Shared Function FindWindow(ByVal ClassName As String, ByVal WindowTitle As String) As IntPtr

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function FindWindowEx(ByVal hwndParent As IntPtr, ByVal hwndChildAfter As IntPtr, ByVal ClassName As String, ByVal WindowTitle As String) As IntPtr

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function GetClassName(ByVal hwnd As IntPtr, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpClassName As String, ByVal nMaxCount As Integer) As Integer

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function GetDesktopWindow() As IntPtr

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function GetWindow(ByVal hwnd As IntPtr, ByVal wCmd As Integer) As IntPtr

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function GetWindowLong(ByVal hwnd As IntPtr, ByVal nIndex As Integer) As Integer

    End Function

 

    Public Const GWL_STYLE As Integer = -16

    Public Const WS_VISIBLE As Integer = &H10000000

 

    Enum GetWindowConstants

        GW_HWNDFIRST = 0

        GW_HWNDLAST = 1

        GW_HWNDNEXT = 2

        GW_HWNDPREV = 3

        GW_OWNER = 4

        GW_CHILD = 5

    End Enum

 

    <DllImport("user32.dll")> _

    Public Shared Function GetWindowText(ByVal hWnd As IntPtr, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef currentText As String, ByVal maxTextLength As Integer) As Integer

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function SetWindowText(ByVal hWnd As IntPtr, ByVal newText As String) As Integer

    End Function

 

    <DllImport("user32.dll")> _

    Public Shared Function SendMessage(ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

    End Function

 

    Public Const WM_MOUSEMOVE As Integer = &H200

    Public Const WM_LBUTTONDOWN As Integer = &H201

    Public Const WM_LBUTTONUP As Integer = &H202

 

    <DllImport("User32.dll")> _

    Public Shared Sub mouse_event(ByVal dwFlags As mouse_event_Flags, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)

    End Sub

 

    Public Enum mouse_event_Flags

        MOUSEEVENTF_LEFTDOWN = &H2

        MOUSEEVENTF_LEFTUP = &H4

        MOUSEEVENTF_MIDDLEDOWN = &H20

        MOUSEEVENTF_MIDDLEUP = &H40

        MOUSEEVENTF_MOVE = &H1

        MOUSEEVENTF_ABSOLUTE = &H8000

        MOUSEEVENTF_RIGHTDOWN = &H8

        MOUSEEVENTF_RIGHTUP = &H10

    End Enum

 

    <DllImport("User32.dll")> _

    Public Shared Function GetWindowRect(ByVal hwnd As IntPtr, ByRef lpRect As RECT) As Integer

    End Function

 

    <StructLayout(LayoutKind.Sequential)> _

    Public Structure RECT

        Public Left As Integer

        Public Top As Integer

        Public Right As Integer

        Public Bottom As Integer

    End Structure

End Class

 

 

Form1.vb

 

 

Public Class Form1

    Inherits System.Windows.Forms.Form

 

#Region " Windows Form Designer generated code "

 

    Public Sub New()

        MyBase.New()

 

        'This call is required by the Windows Form Designer.

        InitializeComponent()

 

        'Add any initialization after the InitializeComponent() call

 

    End Sub

 

    'Form overrides dispose to clean up the component list.

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

        If disposing Then

            If Not (components Is Nothing) Then

                components.Dispose()

            End If

        End If

        MyBase.Dispose(disposing)

    End Sub

 

    'Required by the Windows Form Designer

    Private components As System.ComponentModel.IContainer

 

    'NOTE: The following procedure is required by the Windows Form Designer

    'It can be modified using the Windows Form Designer. 

    'Do not modify it using the code editor.

    Friend WithEvents lstWindows As System.Windows.Forms.ListBox

    Friend WithEvents tcMain As System.Windows.Forms.TabControl

    Friend WithEvents TabPage1 As System.Windows.Forms.TabPage

    Friend WithEvents TabPage2 As System.Windows.Forms.TabPage

    Friend WithEvents btnRefresh As System.Windows.Forms.Button

    Friend WithEvents lstButtons As System.Windows.Forms.ListBox

    Friend WithEvents btnClick As System.Windows.Forms.Button

    Friend WithEvents btnRefreshButtons As System.Windows.Forms.Button

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

        Me.lstWindows = New System.Windows.Forms.ListBox

        Me.tcMain = New System.Windows.Forms.TabControl

        Me.TabPage1 = New System.Windows.Forms.TabPage

        Me.btnRefresh = New System.Windows.Forms.Button

        Me.TabPage2 = New System.Windows.Forms.TabPage

        Me.btnRefreshButtons = New System.Windows.Forms.Button

        Me.btnClick = New System.Windows.Forms.Button

        Me.lstButtons = New System.Windows.Forms.ListBox

        Me.tcMain.SuspendLayout()

        Me.TabPage1.SuspendLayout()

        Me.TabPage2.SuspendLayout()

        Me.SuspendLayout()

        '

        'lstWindows

        '

        Me.lstWindows.BorderStyle = System.Windows.Forms.BorderStyle.None

        Me.lstWindows.Dock = System.Windows.Forms.DockStyle.Fill

        Me.lstWindows.IntegralHeight = False

        Me.lstWindows.Location = New System.Drawing.Point(0, 23)

        Me.lstWindows.Name = "lstWindows"

        Me.lstWindows.Size = New System.Drawing.Size(448, 164)

        Me.lstWindows.TabIndex = 0

        '

        'tcMain

        '

        Me.tcMain.Appearance = System.Windows.Forms.TabAppearance.FlatButtons

        Me.tcMain.Controls.Add(Me.TabPage1)

        Me.tcMain.Controls.Add(Me.TabPage2)

        Me.tcMain.Dock = System.Windows.Forms.DockStyle.Fill

        Me.tcMain.Location = New System.Drawing.Point(0, 0)

        Me.tcMain.Name = "tcMain"

        Me.tcMain.SelectedIndex = 0

        Me.tcMain.Size = New System.Drawing.Size(458, 218)

        Me.tcMain.TabIndex = 1

        '

        'TabPage1

        '

        Me.TabPage1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle

        Me.TabPage1.Controls.Add(Me.lstWindows)

        Me.TabPage1.Controls.Add(Me.btnRefresh)

        Me.TabPage1.Location = New System.Drawing.Point(4, 25)

        Me.TabPage1.Name = "TabPage1"

        Me.TabPage1.Size = New System.Drawing.Size(450, 189)

        Me.TabPage1.TabIndex = 0

        Me.TabPage1.Text = "Find Window"

        '

        'btnRefresh

        '

        Me.btnRefresh.Dock = System.Windows.Forms.DockStyle.Top

        Me.btnRefresh.Location = New System.Drawing.Point(0, 0)

        Me.btnRefresh.Name = "btnRefresh"

        Me.btnRefresh.Size = New System.Drawing.Size(448, 23)

        Me.btnRefresh.TabIndex = 1

        Me.btnRefresh.Text = "Refresh"

        '

        'TabPage2

        '

        Me.TabPage2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle

        Me.TabPage2.Controls.Add(Me.btnRefreshButtons)

        Me.TabPage2.Controls.Add(Me.btnClick)

        Me.TabPage2.Controls.Add(Me.lstButtons)

        Me.TabPage2.Location = New System.Drawing.Point(4, 25)

        Me.TabPage2.Name = "TabPage2"

        Me.TabPage2.Size = New System.Drawing.Size(450, 189)

        Me.TabPage2.TabIndex = 1

        Me.TabPage2.Text = "Find Button"

        '

        'btnRefreshButtons

        '

        Me.btnRefreshButtons.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

        Me.btnRefreshButtons.Location = New System.Drawing.Point(368, 40)

        Me.btnRefreshButtons.Name = "btnRefreshButtons"

        Me.btnRefreshButtons.TabIndex = 2

        Me.btnRefreshButtons.Text = "Refresh"

        '

        'btnClick

        '

        Me.btnClick.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

        Me.btnClick.Location = New System.Drawing.Point(368, 8)

        Me.btnClick.Name = "btnClick"

        Me.btnClick.TabIndex = 1

        Me.btnClick.Text = "Click!"

        '

        'lstButtons

        '

        Me.lstButtons.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _

                    Or System.Windows.Forms.AnchorStyles.Left) _

                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)

        Me.lstButtons.BorderStyle = System.Windows.Forms.BorderStyle.None

        Me.lstButtons.IntegralHeight = False

        Me.lstButtons.Location = New System.Drawing.Point(0, 0)

        Me.lstButtons.Name = "lstButtons"

        Me.lstButtons.Size = New System.Drawing.Size(360, 187)

        Me.lstButtons.TabIndex = 0

        '

        'Form1

        '

        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

        Me.ClientSize = New System.Drawing.Size(458, 218)

        Me.Controls.Add(Me.tcMain)

        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow

        Me.Name = "Form1"

        Me.Text = "Click another Applications Button"

        Me.tcMain.ResumeLayout(False)

        Me.TabPage1.ResumeLayout(False)

        Me.TabPage2.ResumeLayout(False)

        Me.ResumeLayout(False)

 

    End Sub

 

#End Region

 

    Private Sub btnRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRefresh.Click

        RefreshWindowList()

    End Sub

 

    Private Sub btnRefreshButtons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRefreshButtons.Click

        RefreshButtonList()

    End Sub

 

    Private Sub btnClick_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClick.Click

        ClickButton()

    End Sub

 

    Private Sub tcMain_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tcMain.SelectedIndexChanged

        If tcMain.SelectedIndex = 1 Then

            If Not lstWindows.SelectedItem Is Nothing Then

                RefreshButtonList()

            Else

                tcMain.SelectedIndex = 0

            End If

        End If

    End Sub

 

    Private Sub RefreshWindowList()

        lstWindows.Items.Clear()

 

        Dim tmpHandle As IntPtr = API.GetDesktopWindow()

        tmpHandle = API.GetWindow(tmpHandle, API.GetWindowConstants.GW_CHILD)

 

        While tmpHandle.ToInt32 <> 0

            If API.GetWindow(tmpHandle, API.GetWindowConstants.GW_CHILD).ToInt32 <> 0 AndAlso _

                ((API.GetWindowLong(tmpHandle, API.GWL_STYLE) And API.WS_VISIBLE) = API.WS_VISIBLE) Then

 

                Dim tmpWndText As New String(" ".Chars(0), 255)

                API.GetWindowText(tmpHandle, tmpWndText, 255)

 

                tmpWndText = tmpWndText.Trim()

 

                If (tmpWndText.Length > 0) Then

                    tmpWndText = tmpWndText.Substring(0, tmpWndText.Length - 1)

 

                    Dim tmpClassName As New String(" ".Chars(0), 255)

                    API.GetClassName(tmpHandle, tmpClassName, 255)

 

                    tmpClassName = tmpClassName.Trim()

 

                    If (tmpClassName.Length > 0) Then

                        tmpClassName = tmpClassName.Substring(0, tmpClassName.Length - 1)

 

                        lstWindows.Items.Add(tmpHandle.ToInt32.ToString("X") + ControlChars.Tab + "[" + tmpClassName + "] """ + tmpWndText + """")

                    End If

                End If

 

            End If

            tmpHandle = API.GetWindow(tmpHandle, API.GetWindowConstants.GW_HWNDNEXT)

        End While

    End Sub

 

    Private Sub RefreshButtonList()

        lstButtons.Items.Clear()

 

        Dim tmpHandleStr As String = CType(lstWindows.SelectedItem, String)

        tmpHandleStr = tmpHandleStr.Substring(0, tmpHandleStr.IndexOf("[".Chars(0))).Trim()

 

        Dim tmpHandle As New IntPtr(System.Convert.ToInt32(tmpHandleStr, 16))

 

        SearchSubWindows(tmpHandle)

    End Sub

 

    Private Sub SearchSubWindows(ByVal ParentHandle As IntPtr)

 

        Dim tmpHandle As IntPtr = API.GetWindow(ParentHandle, API.GetWindowConstants.GW_CHILD)

 

        While tmpHandle.ToInt32 <> 0

            If (API.GetWindowLong(tmpHandle, API.GWL_STYLE) And API.WS_VISIBLE) = API.WS_VISIBLE Then

                Dim tmpClassName As New String(" ".Chars(0), 255)

                API.GetClassName(tmpHandle, tmpClassName, 255)

 

                'If (tmpClassName.ToLower().IndexOf("button") <> -1) Then

                tmpClassName = tmpClassName.Trim()

                tmpClassName = tmpClassName.Substring(0, tmpClassName.Length - 1)

 

                Dim tmpText As New String(" ".Chars(0), 255)

                API.GetWindowText(tmpHandle, tmpText, 255)

 

                tmpText = tmpText.Trim()

                If (tmpText.Length > 0) Then tmpText = tmpText.Substring(0, tmpText.Length - 1)

 

                lstButtons.Items.Add(tmpHandle.ToInt32().ToString("X") + ControlChars.Tab + "[" + tmpClassName + "] """ + tmpText + """")

                'Else

                SearchSubWindows(tmpHandle)

                'End If

            End If

 

            tmpHandle = API.GetWindow(tmpHandle, API.GetWindowConstants.GW_HWNDNEXT)

        End While

    End Sub

 

    Private Sub ClickButton()

        If Not lstButtons.SelectedItem Is Nothing Then

            Dim tmpHandleStr As String = CType(lstButtons.SelectedItem, String)

            tmpHandleStr = tmpHandleStr.Substring(0, tmpHandleStr.IndexOf("[".Chars(0))).Trim()

 

            Dim tmpHandle As New IntPtr(System.Convert.ToInt32(tmpHandleStr, 16))

 

            API.SendMessage(tmpHandle, API.WM_LBUTTONDOWN, 1, 0)

            API.SendMessage(tmpHandle, API.WM_LBUTTONUP, 0, 0)

        End If

    End Sub

End Class

 

 

Form1.resx

 

<?xml version="1.0" encoding="utf-8"?>

<root>

  <!--

    Microsoft ResX Schema

   

    Version 1.3

   

    The primary goals of this format is to allow a simple XML format

    that is mostly human readable. The generation and parsing of the

    various data types are done through the TypeConverter classes

    associated with the data types.

   

    Example:

   

    ... ado.net/XML headers & schema ...

    <resheader name="resmimetype">text/microsoft-resx</resheader>

    <resheader name="version">1.3</resheader>

    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>

    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>

    <data name="Name1">this is my long string</data>

    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>

    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">

        [base64 mime encoded serialized .NET Framework object]

    </data>

    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

        [base64 mime encoded string representing a byte array form of the .NET Framework object]

    </data>

               

    There are any number of "resheader" rows that contain simple

    name/value pairs.

   

    Each data row contains a name, and value. The row also contains a

    type or mimetype. Type corresponds to a .NET class that support

    text/value conversion through the TypeConverter architecture.

    Classes that don't support this are serialized and stored with the

    mimetype set.

   

    The mimetype is used forserialized objects, and tells the

    ResXResourceReader how to depersist the object. This is currently not

    extensible. For a given mimetype the value must be set accordingly:

    

    Note - application/x-microsoft.net.object.binary.base64 is the format

    that the ResXResourceWriter will generate, however the reader can

    read any of the formats listed below.

   

    mimetype: application/x-microsoft.net.object.binary.base64

    value   : The object must be serialized with

            : System.Serialization.Formatters.Binary.BinaryFormatter

            : and then encoded with base64 encoding.

   

    mimetype: application/x-microsoft.net.object.soap.base64

    value   : The object must be serialized with

            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter

            : and then encoded with base64 encoding.

 

    mimetype: application/x-microsoft.net.object.bytearray.base64

    value   : The object must be serialized into a byte array

            : using a System.ComponentModel.TypeConverter

            : and then encoded with base64 encoding.

    -->

  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

    <xsd:element name="root" msdata:IsDataSet="true">

      <xsd:complexType>

        <xsd:choice maxOccurs="unbounded">

          <xsd:element name="data">

            <xsd:complexType>

              <xsd:sequence>

                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />

              </xsd:sequence>

              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />

              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />

              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />

            </xsd:complexType>

          </xsd:element>

          <xsd:element name="resheader">

            <xsd:complexType>

              <xsd:sequence>

                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

              </xsd:sequence>

              <xsd:attribute name="name" type="xsd:string" use="required" />

            </xsd:complexType>

          </xsd:element>

        </xsd:choice>

      </xsd:complexType>

    </xsd:element>

  </xsd:schema>

  <resheader name="resmimetype">

    <value>text/microsoft-resx</value>

  </resheader>

  <resheader name="version">

    <value>1.3</value>

  </resheader>

  <resheader name="reader">

    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

  </resheader>

  <resheader name="writer">

    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

  </resheader>

  <data name="lstWindows.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="lstWindows.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="lstWindows.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="tcMain.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="tcMain.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="tcMain.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="tcMain.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="tcMain.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="tcMain.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

    <value>8, 8</value>

  </data>

  <data name="TabPage1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="TabPage1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="TabPage1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="TabPage1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="TabPage1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="TabPage1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

    <value>8, 8</value>

  </data>

  <data name="btnRefresh.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="btnRefresh.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="btnRefresh.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="TabPage2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="TabPage2.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="TabPage2.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="TabPage2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="TabPage2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="TabPage2.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

    <value>8, 8</value>

  </data>

  <data name="btnRefreshButtons.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="btnRefreshButtons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="btnRefreshButtons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="btnClick.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="btnClick.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="btnClick.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="lstButtons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="lstButtons.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="lstButtons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>(Default)</value>

  </data>

  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>False</value>

  </data>

  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

    <value>8, 8</value>

  </data>

  <data name="$this.Name">

    <value>Form1</value>

  </data>

  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>80</value>

  </data>

  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>True</value>

  </data>

  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <value>Assembly</value>

  </data>

</root>

 

 

 

 

 

No hay comentarios:

Publicar un comentario

Páginas de ayuda sobre temas variados