Option Compare Database
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" _
(ByVal pwszKLID As String, ByVal flags As Long) As Long
'ประกาศฟังชั่น LoadKeyboardLayout โดยเรียกใช้ฟังชั่น LoadKeyboardLayoutA ซึ่งเป็นฟังชั่นภายในของ DLL ที่ชื่อ user32
'สำหรับเปลี่ยนภาษาของ KeyBoard ให้เปลี่ยนไปตามที่เราต้องการ
Public Const Thai = "0000041E"
Public Const English = "00000409"
Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Function End_Work_Quit()
Dim retvalue As Variant
On Error GoTo Err_Del:
retvalue = MsgBox("Click OK เพื่อยืนยัน จบการทำงานและออกจากโปรแกรมฯ !!!?!!!", vbOKCancel + vbDefaultButton2, "เลิกงาน")
Select Case retvalue
Case 1
DoCmd.Quit acQuitSaveAll
Case Else
End Select
Exit Function
Err_Del:
MsgBox Err.Description, vbCritical, "Error"
End Function
'สำหรับอ่านภาษาของ KeyBoard ว่าตอนนี้เป็นภาษาอะไร?
Public Function FindTheardlanguage()
Dim TheardId As Long
Dim TheardLang As Long
TheardId = get_threadId 'เรียกใช้ฟังชัน get_threadId
TheardLang = GetKeyboardLayout(ByVal TheardId)
TheardLang = TheardLang Mod 10000
Select Case TheardLang
Case 9721 'ตอนนี้คีย์บอร์ดเป็นภาษาอังกฤษ
FindTheardlanguage = English ' msgbox TheardLang = " & TheardLang
Case 5998 'ตอนนี้คีย์บอร์ดเป็นภาษาไทย
FindTheardlanguage = Thai 'msgbox TheardLang = " & TheardLang
' Case Else 'คีย์บอร์เป็นภาษาอื่นๆ
'FindTheardlanguage = UnKnow ' msgbox TheardLang = " & TheardLang
End Select
End Function