Public Declare Function UpdateWindow Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function IsWindow Lib "user32.dll" (ByVal hWnd As Long) As Long
Public Const EM_SETPASSWORDCHAR = &HCC
Public Const EM_GETPASSWORDCHAR = &HD2
Dim Tmp As Long
Sub Main()
Tmp = 0
For i = 1 To 30000
    If IsWindow(i) Then
        Tmp = Tmp + 1
        SendMessage i, EM_SETPASSWORDCHAR, 0&, ByVal 0&
        UpdateWindow i
    End If
    DoEvents
Next i
MsgBox "Done, PWChars on " + Format(Tmp) + " windows reset."
End Sub
其实只要取得当前鼠标位置控件的类名,如果等于“edit”则发送
SendMessage 句柄, EM_SETPASSWORDCHAR, 0&, ByVal 0& 就可以了需要用到
Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As LongPublic Type POINTAPI
        x As Long
        y As Long
End Type