New KeyBoard

Tháng Tám 27, 2008 at 1:50 sáng Để lại phản hồi

SendKeys

————————-

Option Strict Off
Imports System.Runtime.InteropServices
Imports System.Text

Public Module SendKeys
Public Declare Sub keybd_event Lib “user32″ (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Public Const KEYEVENTF_KEYUP = &H2 ‘ Release key
Public Const KEYEVENTF_EXTENDEDKEY = &H1
#Region “shift ,altgr and alt release sub”
Sub shiftrelease()
‘Button.BackColor = Color.FromArgb(224, 224, 224)
‘btnsagshift.BackColor = Color.FromArgb(224, 224, 224)
keybd_event(wVk.VK_SHIFT, 0, 2, 0)
End Sub
Sub altrelease()
keybd_event(wVk.VK_MENU, 0, KEYEVENTF_EXTENDEDKEY Or 2, 0)
‘btnsagaltgr.BackColor = Color.FromArgb(224, 224, 224)
End Sub
Sub leftaltrelease()
keybd_event(wVk.VK_MENU, 0, KEYEVENTF_KEYUP, 0)
‘btnsolalt.BackColor = Color.FromArgb(224, 224, 224)
End Sub
#End Region

Public Enum wVk As Short

VK_CANCEL = &H3 ‘BREAK(Control+Pause) key(ExtendedKey)
VK_BACK = &H8 ‘BACKSPACE key
VK_TAB = &H9 ‘TAB key
VK_CLEAR = &HC
VK_RETURN = &HD ‘ENTER key
VK_SHIFT = &H10 ‘SHIFT key
VK_CONTROL = &H11 ‘CTRL key
VK_MENU = &H12 ‘ALT key
VK_PAUSE = &H13 ‘PAUSE key
VK_CAPITAL = &H14 ‘CAPS LOCK key
VK_KANA = &H15 ‘IME かな mode
VK_JUNJA = &H17
VK_FINAL = &H18
VK_KANJI = &H19 ‘IME 漢字 mode
VK_ESCAPE = &H1B ‘ESC key
VK_CONVERT = &H1C ‘IME 変換 key
VK_NONCONVERT = &H1D ‘IME 無変換 key
VK_ACCEPT = &H1E
VK_MODECHANGE = &H1F
VK_SPACE = &H20 ‘SPACEBAR
VK_PRIOR = &H21 ‘PAGE UP key(ExtendedKey)
VK_NEXT = &H22 ‘PAGE DOWN key(ExtendedKey)
VK_END = &H23 ‘END key(ExtendedKey)
VK_HOME = &H24 ‘HOME key(ExtendedKey)
VK_LEFT = &H25 ‘← key(ExtendedKey)
VK_UP = &H26 ‘↑ key(ExtendedKey)
VK_RIGHT = &H27 ‘→ key(ExtendedKey)
VK_DOWN = &H28 ‘↓ key(ExtendedKey)
VK_SELECT = &H29
VK_PRINT = &H2A
VK_EXECUTE = &H2B
VK_SNAPSHOT = &H2C ‘PRINT SCREEN key(ExtendedKey)
VK_INSERT = &H2D ‘INS key(ExtendedKey)
VK_DELETE = &H2E ‘DEL key(ExtendedKey)
VK_HELP = &H2F
VK_0 = &H30 ’0 key
VK_1 = &H31 ’1 key
VK_2 = &H32 ’2 key
VK_3 = &H33 ’3 key
VK_4 = &H34 ’4 key
VK_5 = &H35 ’5 key
VK_6 = &H36 ’6 key
VK_7 = &H37 ’7 key
VK_8 = &H38 ’8 key
VK_9 = &H39 ’9 key
VK_A = &H41 ‘A key
VK_B = &H42 ‘B key
VK_C = &H43 ‘C key
VK_D = &H44 ‘D key
VK_E = &H45 ‘E key
VK_F = &H46 ‘F key
VK_G = &H47 ‘G key
VK_H = &H48 ‘H key
VK_I = &H49 ‘I key
VK_J = &H4A ‘J key
VK_K = &H4B ‘K key
VK_L = &H4C ‘L key
VK_M = &H4D ‘M key
VK_N = &H4E ‘N key
VK_O = &H4F ‘O key
VK_P = &H50 ‘P key
VK_Q = &H51 ‘Q key
VK_R = &H52 ‘R key
VK_S = &H53 ‘S key
VK_T = &H54 ‘T key
VK_U = &H55 ‘U key
VK_V = &H56 ‘V key
VK_W = &H57 ‘W key
VK_X = &H58 ‘X key
VK_Y = &H59 ‘Y key
VK_Z = &H5A ‘Z key
VK_LWIN = &H5B ‘Left Windows key
VK_RWIN = &H5C ‘Right Windows key
VK_APPS = &H5D ‘ Applications key
VK_NUMPAD0 = &H60 ‘Numeric keypad 0 key
VK_NUMPAD1 = &H61 ‘Numeric keypad 1 key
VK_NUMPAD2 = &H62 ‘Numeric keypad 2 key
VK_NUMPAD3 = &H63 ‘Numeric keypad 3 key
VK_NUMPAD4 = &H64 ‘Numeric keypad 4 key
VK_NUMPAD5 = &H65 ‘Numeric keypad 5 key
VK_NUMPAD6 = &H66 ‘Numeric keypad 6 key
VK_NUMPAD7 = &H67 ‘Numeric keypad 7 key
VK_NUMPAD8 = &H68 ‘Numeric keypad 8 key
VK_NUMPAD9 = &H69 ‘Numeric keypad 9 key
VK_MULTIPLY = &H6A ‘* key
VK_ADD = &H6B ‘+ key
VK_SEPERATOR = &H6C ‘
VK_SUBTRACT = &H6D ‘- key
VK_DECIMAL = &H6E ‘テンキーの . key
VK_DEVIDE = &H6F ‘/ key(ExtendedKey)
VK_F1 = &H70 ‘F1 key
VK_F2 = &H71 ‘F2 key
VK_F3 = &H72 ‘F3 key
VK_F4 = &H73 ‘F4 key
VK_F5 = &H74 ‘F5 key
VK_F6 = &H75 ‘F6 key
VK_F7 = &H76 ‘F7 key
VK_F8 = &H77 ‘F8 key
VK_F9 = &H78 ‘F9 key
VK_F10 = &H79 ‘F10 key
VK_F11 = &H7A ‘F11 key
VK_F12 = &H7B ‘F12 key
VK_F13 = &H7C ‘F13 key
VK_F14 = &H7D ‘F14 key
VK_F15 = &H7E ‘F15 key
VK_F16 = &H7F ‘F16 key
VK_F17 = &H80 ‘F17 key
VK_F18 = &H81 ‘F18 key
VK_F19 = &H82 ‘F19 key
VK_F20 = &H83 ‘F20 key
VK_F21 = &H84 ‘F21 key
VK_F22 = &H85 ‘F22 key
VK_F23 = &H86 ‘F23 key
VK_F24 = &H87 ‘F24 key
VK_NUMLOCK = &H90 ‘NUM LOCK key(ExtendedKey)
VK_SCROLL = &H91 ‘SCROLL LOCK key
VK_LSHIFT = &HA0 ‘Left SHIFT key
VK_RSHIFT = &HA1 ‘ Right SHIFT key(ExtendedKey)
VK_LCONTROL = &HA2 ‘Left CONTROL key
VK_RCONTROL = &HA3 ‘Right CONTROL key(ExtendedKey)
VK_LMENU = &HA4 ‘Left MENU key
VK_RMENU = &HA5 ‘Right MENU key(ExtendedKey)
VK_OEM_1 = &HBA ‘: * key
VK_OEM_PLUS = &HBB ‘; + key
VK_OEM_COMMA = &HBC ‘, < key
VK_OEM_MINUS = &HBD ‘- = key
VK_OEM_PERIOD = &HBE ‘. > key
VK_OEM_2 = &HBF ‘/ ? key
VK_OEM_3 = &HC0 ‘@ ` key
VK_OEM_4 = &HDB ‘[ { key
VK_OEM_5 = &HDC '\ | key
VK_OEM_6 = &HDD '] } key
VK_OEM_7 = &HDE ‘^ ~ key
VK_OEM_8 = &HDF
VK_PROCESSKEY = &HE5
VK_OEM_ATTN = &HF0 ‘英数
VK_OEM_102 = &HE2 ‘\ _ key
VK_OEM_COPY = &HF2 ‘カタカナひらがな
VK_OEM_AUTO = &HF3 ‘全角/半角
VK_OEM_ENLW = &HF4 ‘全角/半角
VK_OEM_BACKTAB = &HF5 ‘ローマ字
VK_PACKET = &HE7
VK_ATTN = &HF6
VK_CRSEL = &HF7
VK_EXSEL = &HF8
VK_EREOF = &HF9
VK_PLAY = &HFA
VK_ZOOM = &HFB
VK_NONAME = &HFC
VK_PA1 = &HFD
VK_OEM_CLEAR = &HFE
End Enum

End Module
Public Class Key

Private _Text As String
Private _Key As Object

Sub New(ByVal Text As String, ByVal Key As Object)
_Text = Text
_Key = Key
End Sub

ReadOnly Property Text() As String
Get
Return _Text
End Get
End Property

ReadOnly Property Key() As Object
Get
Return _Key
End Get
End Property

End Class
Public Class ExTableLayoutPanel
Inherits TableLayoutPanel

Sub New()
MyBase.New()
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
End Sub

Sub New(ByVal ColumnCountValue As Integer, ByVal RowCountValue As Integer)
Me.new()
ColumnCount = ColumnCountValue
RowCount = RowCountValue
End Sub

Shadows Property RowCount() As Integer
Get
Return MyBase.RowCount
End Get
Set(ByVal value As Integer)
MyBase.RowCount = value
Me.RowStyles.Clear()
For I As Integer = 0 To value – 1
Me.RowStyles.Add(New RowStyle(SizeType.Percent, 100))
Next
End Set
End Property

Shadows Property ColumnCount() As Integer
Get
Return MyBase.ColumnCount
End Get
Set(ByVal value As Integer)
MyBase.ColumnCount = value
Me.ColumnStyles.Clear()
For I As Integer = 0 To value – 1
Me.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 100))
Next
End Set
End Property

End Class
Public Class ExButton
Inherits System.Windows.Forms.Button
Sub New()
SetStyle(ControlStyles.Selectable, False)
End Sub

Private Function PixelsToPoints(ByVal Pixels As Single, ByVal fVertical As Boolean) As Single
Dim g As Graphics = Me.CreateGraphics
Dim DPI As Single = CSng(IIf(fVertical, g.DpiY, g.DpiX))
g.Dispose()
Return (Pixels * 72) / DPI
End Function

End Class
———————————————–

———————————————-

Form1

——————————————–

——————————————-

Option Strict On
Imports System.Runtime.InteropServices
Imports System.Text

Public Class Form1
<DllImport(“user32.dll”)> Private Shared Function GetForegroundWindow() As IntPtr
End Function
<DllImport(“user32.dll”)> Private Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Integer
End Function
<DllImport(“user32.dll”)> Private Shared Function GetWindowThreadProcessId(ByVal hwnd As IntPtr, ByRef lpdwProcessId As Integer) As Integer
End Function
<DllImport(“user32.dll”)> Private Shared Function AttachThreadInput(ByVal idAttach As Integer, ByVal idAttachTo As Integer, ByVal fAttach As Boolean) As Boolean
End Function

Dim TableLayoutPanel1 As New ExTableLayoutPanel(22, 6)
Dim WithEvents Timer1 As New Timer

Dim Ctrlbool As Boolean
Dim Shiftbool As Byte = 0
Dim Altbool As Byte = 0
Dim ShiftButton As New ExButton
Dim CtrlButton As New ExButton
Dim AltButton As New ExButton

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
keybd_event(CByte(wVk.VK_SHIFT), 0, 2, 0)
keybd_event(CByte(wVk.VK_CONTROL), 0, 2, 0)
keybd_event(CByte(wVk.VK_MENU), 0, 2, 0)
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.TableLayoutPanel1.Dock = DockStyle.Fill
Me.Text = “KeyBoard Design by Le Minh Hai: “
Me.TopMost = True
Me.Controls.Add(TableLayoutPanel1)
Dim Button(113) As Button
Dim Key() As Key = {New Key(“Esc”, wVk.VK_ESCAPE), _
New Key(“F1″, wVk.VK_F1), _
New Key(“F2″, wVk.VK_F2), _
New Key(“F3″, wVk.VK_F3), _
New Key(“F4″, wVk.VK_F4), _
New Key(“F5″, wVk.VK_F5), _
New Key(“F6″, wVk.VK_F6), _
New Key(“F7″, wVk.VK_F7), _
New Key(“F8″, wVk.VK_F8), _
New Key(“F9″, wVk.VK_F9), _
New Key(“F10″, wVk.VK_F10), _
New Key(“F11″, wVk.VK_F11), _
New Key(“F12″, wVk.VK_F12), _
New Key(“”, Nothing), _
New Key(“”, Nothing), _
New Key(“”, Nothing), _
New Key(“”, Nothing), _
New Key(“”, Nothing), _
New Key(“Print”, wVk.VK_SNAPSHOT), _
New Key(“Scroll”, wVk.VK_SCROLL), _
New Key(“Pause”, wVk.VK_PAUSE), _
New Key(“半角”, wVk.VK_OEM_AUTO), _
New Key(“1″, wVk.VK_1), _
New Key(“2″, wVk.VK_2), _
New Key(“3″, wVk.VK_3), _
New Key(“4″, wVk.VK_4), _
New Key(“5″, wVk.VK_5), _
New Key(“6″, wVk.VK_6), _
New Key(“7″, wVk.VK_7), _
New Key(“8″, wVk.VK_8), _
New Key(“9″, wVk.VK_9), _
New Key(“0″, wVk.VK_0), _
New Key(“-”, wVk.VK_OEM_MINUS), _
New Key(“^”, wVk.VK_OEM_7), _
New Key(“\”, wVk.VK_OEM_5), _
New Key(“<-”, wVk.VK_BACK), _
New Key(“Insert”, wVk.VK_INSERT), _
New Key(“Home”, wVk.VK_HOME), _
New Key(“PageUp”, wVk.VK_PRIOR), _
New Key(“NumLock”, wVk.VK_NUMLOCK), _
New Key(“/”, wVk.VK_DEVIDE), _
New Key(“*”, wVk.VK_MULTIPLY), _
New Key(“-”, wVk.VK_SUBTRACT), _
New Key(“Tab”, wVk.VK_TAB), _
New Key(“Q”, wVk.VK_Q), _
New Key(“W”, wVk.VK_W), _
New Key(“E”, wVk.VK_E), _
New Key(“R”, wVk.VK_R), _
New Key(“T”, wVk.VK_T), _
New Key(“Y”, wVk.VK_Y), _
New Key(“U”, wVk.VK_U), _
New Key(“I”, wVk.VK_I), _
New Key(“O”, wVk.VK_O), _
New Key(“P”, wVk.VK_P), _
New Key(“@”, wVk.VK_OEM_3), _
New Key(“[", wVk.VK_OEM_4), _
New Key(ChrW(&H21B5), wVk.VK_RETURN), _
New Key("Delete", wVk.VK_DELETE), _
New Key("End", wVk.VK_END), _
New Key("PageDown", wVk.VK_NEXT), _
New Key("7", wVk.VK_NUMPAD7), _
New Key("8", wVk.VK_NUMPAD8), _
New Key("9", wVk.VK_NUMPAD9), _
New Key("+", wVk.VK_ADD), _
New Key("CapsLock", wVk.VK_CAPITAL), _
New Key("A", wVk.VK_A), _
New Key("S", wVk.VK_S), _
New Key("D", wVk.VK_D), _
New Key("F", wVk.VK_F), _
New Key("G", wVk.VK_G), _
New Key("H", wVk.VK_H), _
New Key("J", wVk.VK_J), _
New Key("K", wVk.VK_K), _
New Key("L", wVk.VK_L), _
New Key(";", wVk.VK_OEM_PLUS), _
New Key(":", wVk.VK_OEM_1), _
New Key("]“, wVk.VK_OEM_6), _
New Key(“4″, wVk.VK_NUMPAD4), _
New Key(“5″, wVk.VK_NUMPAD5), _
New Key(“6″, wVk.VK_NUMPAD6), _
New Key(“Shift”, wVk.VK_LSHIFT), _
New Key(“Z”, wVk.VK_Z), _
New Key(“X”, wVk.VK_X), _
New Key(“C”, wVk.VK_C), _
New Key(“V”, wVk.VK_V), _
New Key(“B”, wVk.VK_B), _
New Key(“N”, wVk.VK_N), _
New Key(“M”, wVk.VK_M), _
New Key(“<”, wVk.VK_OEM_COMMA), _
New Key(“>”, wVk.VK_OEM_PERIOD), _
New Key(“?”, wVk.VK_OEM_2), _
New Key(“_”, wVk.VK_OEM_8), _
New Key(“Shift”, wVk.VK_RSHIFT), _
New Key(“Up”, wVk.VK_UP), _
New Key(“1″, wVk.VK_NUMPAD1), _
New Key(“2″, wVk.VK_NUMPAD2), _
New Key(“3″, wVk.VK_NUMPAD3), _
New Key(“Enter”, wVk.VK_RETURN), _
New Key(“Ctrl”, wVk.VK_LCONTROL), _
New Key(“Win”, wVk.VK_LWIN), _
New Key(“Alt”, wVk.VK_LMENU), _
New Key(“無変換”, wVk.VK_NONCONVERT), _
New Key(“Space”, wVk.VK_SPACE), _
New Key(“変換”, wVk.VK_CONVERT), _
New Key(“カタカナ”, wVk.VK_KANA), _
New Key(“Alt”, wVk.VK_RMENU), _
New Key(“Win”, wVk.VK_RWIN), _
New Key(“mouse”, wVk.VK_APPS), _
New Key(“Ctrl”, wVk.VK_RCONTROL), _
New Key(“Left”, wVk.VK_LEFT), _
New Key(“Down”, wVk.VK_DOWN), _
New Key(“Right”, wVk.VK_RIGHT), _
New Key(“0″, wVk.VK_NUMPAD0), _
New Key(“.”, wVk.VK_DECIMAL)}

For I As Integer = 0 To 113 ’63 plus 16 plus 18 plus 16
Button(I) = New ExButton
With Button(I)
.Dock = DockStyle.Fill
.Margin = New Padding(0)
.Text = Key(I).Text
.Tag = Key(I).Key
If .Text = “” Then .Visible = False ‘表題のないキーは消す
End With
AddHandler Button(I).Click, AddressOf Button_Click
Next
For i As Integer = 0 To 12
TableLayoutPanel1.Controls.Add(Button(i))
Next i
‘TableLayoutPanel1.Controls.Add(Label1, 15, 0)
TableLayoutPanel1.Controls.Add(Button(18), 19, 0)
TableLayoutPanel1.Controls.Add(Button(19), 20, 0)
TableLayoutPanel1.Controls.Add(Button(20), 21, 0)

TableLayoutPanel1.Controls.Add(Button(77), 18, 3)
TableLayoutPanel1.Controls.Add(Button(78), 19, 3)
TableLayoutPanel1.Controls.Add(Button(79), 20, 3)

TableLayoutPanel1.Controls.Add(Button(93), 16, 4)
TableLayoutPanel1.Controls.Add(Button(94), 18, 4)
TableLayoutPanel1.Controls.Add(Button(95), 19, 4)
TableLayoutPanel1.Controls.Add(Button(96), 20, 4)
TableLayoutPanel1.Controls.Add(Button(97), 21, 4)

For i As Integer = 21 To 42
TableLayoutPanel1.Controls.Add(Button(i), i – 21, 1)
Next i
For i As Integer = 43 To 63
TableLayoutPanel1.Controls.Add(Button(i), i – 43, 2)
Next
For i As Integer = 64 To 76
TableLayoutPanel1.Controls.Add(Button(i), i – 64, 3)
Next
For i As Integer = 80 To 92
TableLayoutPanel1.Controls.Add(Button(i), i – 80, 4)
Next

For i As Integer = 98 To 113
TableLayoutPanel1.Controls.Add(Button(i), i – 98, 5)
Next

TableLayoutPanel1.SetColumnSpan(Button(43), 2) ‘Tab key
TableLayoutPanel1.SetColumnSpan(Button(80), 2) ‘LShift key
TableLayoutPanel1.SetColumnSpan(Button(92), 2) ‘RShift key
TableLayoutPanel1.SetRowSpan(Button(56), 2) ‘Left Enter key
TableLayoutPanel1.SetRowSpan(Button(97), 2) ‘Right Enter key
TableLayoutPanel1.SetRowSpan(Button(63), 2) ‘ Left + key
TableLayoutPanel1.SetColumnSpan(Button(64), 2) ‘CapsLock key
TableLayoutPanel1.SetColumnSpan(Button(102), 5) ‘Space key
TableLayoutPanel1.SetColumnSpan(Button(112), 2) ‘Space key
Timer1.Interval = 100
Timer1.Enabled = True
End Sub

Public Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Button As ExButton = DirectCast(sender, ExButton)
Dim Vkey As wVk
Vkey = CType(Button.Tag, wVk)
Button.BackColor = SystemColors.ControlLight
Select Case Vkey
Case wVk.VK_LSHIFT, wVk.VK_RSHIFT
keybd_event(CByte(Vkey), 0, 0, 0)
altrelease()
leftaltrelease()
Button.BackColor = SystemColors.ControlDark
ShiftButton = Button
Exit Sub
Case wVk.VK_LMENU
keybd_event(CByte(Vkey), 0, 0, 0)
Button.BackColor = SystemColors.ControlDark
AltButton = Button
shiftrelease()
altrelease()
Exit Sub
Case wVk.VK_RMENU
keybd_event(CByte(Vkey), 0, KEYEVENTF_EXTENDEDKEY Or 0, 0)
Button.BackColor = SystemColors.ControlDark
AltButton = Button
shiftrelease()
leftaltrelease()
Exit Sub
Case wVk.VK_LCONTROL, wVk.VK_RCONTROL
Button.BackColor = SystemColors.ControlLight
Ctrlbool = Not Ctrlbool
If Ctrlbool = True Then
keybd_event(CByte(Vkey), 0, 0, 0)
Button.BackColor = SystemColors.ControlDark
Else
keybd_event(CByte(Vkey), 0, KEYEVENTF_KEYUP, 0)
Button.BackColor = SystemColors.ControlLight
End If

CtrlButton = Button
shiftrelease()
altrelease()
leftaltrelease()
Exit Sub
End Select
ShiftButton.BackColor = SystemColors.ControlLight

AltButton.BackColor = SystemColors.ControlLight

keybd_event(CByte(Vkey), 0, 0, 0)
keybd_event(CByte(Vkey), 0, KEYEVENTF_KEYUP, 0)
shiftrelease()
altrelease()
leftaltrelease()
End Sub

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_MOUSEACTIVATE As Integer = &H21
Const MA_NOACTIVATE As Integer = 3
If m.Msg = WM_MOUSEACTIVATE Then
m.Result = New IntPtr(MA_NOACTIVATE)
Return
End If
MyBase.WndProc(m)
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static ThreadProcessId As Integer = GetWindowThreadProcessId(Me.Handle, 0&)
Static OldWindowHandle As IntPtr = IntPtr.Zero
Dim targetWindowHandle As IntPtr = GetForegroundWindow()
If targetWindowHandle = Me.Handle AndAlso OldWindowHandle <> IntPtr.Zero Then
SetForegroundWindow(OldWindowHandle)
Else
If targetWindowHandle <> OldWindowHandle Then
Dim targetThreadProcessId As Integer = GetWindowThreadProcessId(targetWindowHandle, 0&)
AttachThreadInput(ThreadProcessId, targetThreadProcessId, True)
OldWindowHandle = targetWindowHandle
End If
End If
End Sub

End Class
—————————————————————

Entry filed under: VB.NET. Tags: .

KeyBoard Create new database error No Privileges Phpadmin

Gửi phản hồi

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Thay đổi )

Twitter picture

You are commenting using your Twitter account. Log Out / Thay đổi )

Facebook photo

You are commenting using your Facebook account. Log Out / Thay đổi )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


 

Tháng Tám 2008
T2 T3 T4 T5 T6 T7 CN
« Tháng 7   Tháng 9 »
 123
45678910
11121314151617
18192021222324
25262728293031

Follow

Get every new post delivered to your Inbox.