Prikazi cijelu temu 15.03.2018 19:50
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Lokacija:Ohrid Makedonija


Predmet:Re: Input box kao lozinka
Evo ti Resenie
Stavi ovo u neki modul
PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3.  
  4. Private Declare Function CallNextHookEx Lib "user32" _
  5.                                     (ByVal hHook As Long, _
  6.                                     ByVal ncode As Long, _
  7.                                     ByVal wParam As Long, _
  8.                                     lParam As Any) As Long
  9.  
  10. Private Declare Function GetModuleHandle Lib "kernel32" _
  11.                                     Alias "GetModuleHandleA" _
  12.                                     (ByVal lpModuleName As String) As Long
  13.  
  14. Private Declare Function SetWindowsHookEx Lib "user32" _
  15.                                     Alias "SetWindowsHookExA" _
  16.                                     (ByVal idHook As Long, _
  17.                                     ByVal lpfn As Long, _
  18.                                     ByVal hmod As Long, _
  19.                                     ByVal dwThreadId As Long) As Long
  20.  
  21. Private Declare Function UnhookWindowsHookEx Lib "user32" _
  22.                                     (ByVal hHook As Long) As Long
  23.  
  24. Private Declare Function SendDlgItemMessage Lib "user32" _
  25.                                     Alias "SendDlgItemMessageA" _
  26.                                     (ByVal hDlg As Long, _
  27.                                     ByVal nIDDlgItem As Long, _
  28.                                     ByVal wMsg As Long, _
  29.                                     ByVal wParam As Long, _
  30.                                     ByVal lParam As Long) As Long
  31.  
  32. Private Declare Function GetClassName Lib "user32" _
  33.                                     Alias "GetClassNameA" _
  34.                                     (ByVal hwnd As Long, _
  35.                                     ByVal lpClassName As String, _
  36.                                     ByVal nMaxCount As Long) As Long
  37.  
  38. Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
  39.  
  40.  
  41. Private Const EM_SETPASSWORDCHAR = &HCC
  42. Private Const WH_CBT = 5
  43. Private Const HCBT_ACTIVATE = 5
  44. Private Const HC_ACTION = 0
  45.  
  46. Private hHook As Long
  47.  
  48. Private Function NoviProces(ByVal lngCode As Long, _
  49.                         ByVal wParam As Long, _
  50.                         ByVal lParam As Long) As Long
  51.     Dim RetVal
  52.     Dim strClassName As String, lngBuffer As Long
  53.    
  54.     If lngCode < HC_ACTION Then
  55.         NoviProces = CallNextHookEx(hHook, lngCode, wParam, lParam)
  56.         Exit Function
  57.     End If
  58.    
  59.     strClassName = String$(256, " ")
  60.     lngBuffer = 255
  61.    
  62.     If lngCode = HCBT_ACTIVATE Then
  63.    
  64.         RetVal = GetClassName(wParam, strClassName, lngBuffer)
  65.        
  66.         If Left$(strClassName, RetVal) = "#32770" Then
  67.        
  68.            
  69.             SendDlgItemMessage wParam, _
  70.                                 &H1324, _
  71.                                 EM_SETPASSWORDCHAR, _
  72.                                 Asc("*"), _
  73.                                 &H0
  74.         End If
  75.    
  76.     End If
  77.    
  78.  
  79.     CallNextHookEx hHook, lngCode, wParam, lParam
  80.  
  81. End Function
  82.  
  83. Public Function InputBoxPas(Prompt, _
  84.                            Optional title, _
  85.                            Optional Default, _
  86.                            Optional XPos, _
  87.                            Optional YPos, _
  88.                            Optional HelpFile, _
  89.                            Optional Context) As String
  90.                            
  91.     Dim lngModHwnd As Long, lngThreadID As Long
  92.  
  93.     lngThreadID = GetCurrentThreadId
  94.     lngModHwnd = GetModuleHandle(vbNullString)
  95.    
  96.     hHook = SetWindowsHookEx(WH_CBT, AddressOf NoviProces, lngModHwnd, lngThreadID)
  97.     InputBoxPas = InputBox(title, _
  98.                             Default, _
  99.                             XPos, _
  100.                             YPos, _
  101.                             HelpFile, _
  102.                             Context)
  103.     UnhookWindowsHookEx hHook
  104.  
  105. End Function
Poziva se :

PreuzmiIzvorni kôd (Visual Basic):
  1.   K = InputBoxPas("", "Unesi Password", " Password")
  2.  If K = a Then
  3.   End If