即输入的内容显示为:*
解决方案 »
- GetModuleHandle 一直返回0的问题..
- VB要储存一段包含有很多双引号""的字符串,大家用什么方法方便?
- 【散分帖】13333+2222,不错的数字,特此散分~~~~~~~~~~~~~~~~~
- 在一个子过程文件中关于NULL的用法
- 在VB写的DLL中返回RECORDSET,但是在ASP中不能用!
- 求读写二进制文件的VB源代码
- vb中调用com除了在引用中加入相应的dll之外还有一种方法是后期绑定,怎么写来着?
- vb中如何释放ip地址?如何重新获取ip地址?
- VB初学者看什么VB书籍比较好?
- 自己定制的ocx 下载是提示未签名,很烦,怎么办??
- 请问如何读出指定目录下的所有子目录?
- 一个程序要求的时间间隔比timer的最低间隔还要小,请问有什么办法实现
偶来转贴一下,代码如下:'窗体代码
Private Sub Command1_Click()
Dim hThread As Long, lpThreadID As Long
g_bDone = False
g_strTitle = "测试程序"
hThread = CreateThread(ByVal 0&, ByVal 0&, AddressOf HookInputBoxThread, ByVal 0&, 0, lpThreadID)
Dim s As String
s = InputBox("请输入数据", g_strTitle)
MsgBox s
End Sub'模块代码
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) 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 GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
Public Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, ByVal lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
Public Const EM_SETPASSWORDCHAR = &HCCPublic g_bDone As Boolean
Public g_strTitle As String
Public Sub HookInputBoxThread()
Do Until g_bDone
Dim h As Long, hText As Long
h = FindWindow("#32770", g_strTitle)
If h <> 0 Then
hText = GetDlgItem(h, &H1324)
If hText <> 0 Then
SendMessage hText, EM_SETPASSWORDCHAR, Asc("8"), 0
g_bDone = True
End If
End If
Loop
End Sub
那天我自己乱改,改成用8来代替*显示密码了。你只要把SendMessage hText, EM_SETPASSWORDCHAR, Asc("8"), 0中的8用*来代替就ok了。email我也给你发了,你看看