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