即输入的内容显示为:*  

解决方案 »

  1.   

    参考下http://www.topdelphi.com/Article_Show.asp?ArticleID=16
      

  2.   

    http://www.5ivb.net/club/dispbbs.asp?BoardID=1&replyID=29465&id=28337&star=1&skin=0
      

  3.   

    用钩子比较方便:)
    偶来转贴一下,代码如下:'窗体代码
    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
      

  4.   

    补充一下,在form1上放一个commandbutton,然后run
      

  5.   

    怎么会不行呢?晕我这里一点问题没有啊,代码是两块,一个窗体,一个模块的,别弄错了你给个email,我把程序发给你
      

  6.   

    liyan010(我是大坏蛋)  ---------  其实你是个好人  ^_^谢谢你了请载个例子给我吧[email protected]
      

  7.   

    楼主,不好意思,我忘记了。
    那天我自己乱改,改成用8来代替*显示密码了。你只要把SendMessage hText, EM_SETPASSWORDCHAR, Asc("8"), 0中的8用*来代替就ok了。email我也给你发了,你看看