请问我在inputbox 界面里面写入123456,怎么让123456变成是密码的形式,即******
谢谢!!!!!!!!!
急!!!
谢谢!!!!!!!!!
急!!!
解决方案 »
- VB调用Usb7kC.dll
- 如何连接二进制文件?急!
- 如何根据Listview的listitem的Check动态查询,(Listview的listitem是数据库字段)
- DataReport打印时向右偏移
- 怎么把TXT文档当作一个数据库来处理?
- 如何在一个字符串中取前2个中文字符
- 怎么样能使用SetSysColors函数只修改指定窗体标题栏的颜色,不改变整个系统标题栏的颜色?
- 怎样能将字符串02.02.02正确的转换为2002/02/02的日期型格式???
- 请问Flash和VB之间如何沟通?
- 很菜的问题!!!急急急!!!
- 关于sendmessage,SetWindowsHookEx参数设置的问题
- vb 如何来执行 游戏
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As LongPrivate Const EM_SETPASSWORDCHAR = &HCCPublic Declare Function SetTimer Lib "user32" _
(ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) _
As LongPrivate Declare Function KillTimer Lib "user32" _
(ByVal hwnd As Long, _
ByVal nIDEvent As Long) _
As LongPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As LongPrivate Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, _
ByVal lpsz1 As String, _
ByVal lpsz2 As String) _
As LongDim m_lngTimerId As LongPrivate Sub main() m_lngTimerId = SetTimer(0, 0, 1, AddressOf TimerProc) Call InputBox("请输入姓名", "输入框")End SubPublic Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) Dim lngHwnd As Long lngHwnd = FindWindow(vbNullString, "输入框") '参数复制是Input的Title参数
lngHwnd = FindWindowEx(lngHwnd, 0, "Edit", vbNullString) '继续查找子窗口,使用TextBox类名"Edit" If lngHwnd Then Call PostMessage(lngHwnd, EM_SETPASSWORDCHAR, &H2A, 0) '&H2A是什么?就是*的AscII码42,这个参数为""就是不显示密码了。
Call KillTimer(0, m_lngTimerId) '关闭计时器 End IfEnd Sub
以上代码编译后才有效
比如在一个form中使用了mscomm.output=a
在另一个form中还能使用mscomm.output=b吗?
请大家多多指点!
在线等!
老问题了,最好还是做个窗体
Dim password$
Private Sub Form_Load()
passw = MyInputBox("请输入密码", "登录")
MsgBox IIf(passw = "123456", "密码正确", "密码错误")
End Sub'*************************** 模块 Module1 的代码Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private 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
Private Const EM_SETPASSWORDCHAR = &HCC
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private hHook&, hEdit&
Private Function HookProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If nCode = HCBT_ACTIVATE Then
hEdit = FindWindowEx(wParam, 0, "Edit", vbNullString)
SendMessage hEdit, EM_SETPASSWORDCHAR, Asc("*"), ByVal 0&
UnhookWindowsHookEx hHook
End If
End FunctionPublic Function MyInputBox(prompt As String, Optional title As String, Optional default As String) As String
hHook = SetWindowsHookEx(WH_CBT, AddressOf HookProc, App.hInstance, App.ThreadID)
MyInputBox = InputBox(prompt, title, default)
End Function
改为
Dim passw$
简单就是美,何必使用那么多的API
显示时inputboxn(asdfadf,asdfa,asdfasd,fasdf,asdfasdf,asdfadsf) as 布尔(或者返回值)
自己搞个函数
在里面
初始化完这些public 变量
form.show vbmodel(记不清了,也可能是1)
inputboxn=****
end sub
form 里
on_load 时读这些public
显示
用户输入
点确认的时候写倒 public 里面去
unload me自然从inputboxn 里回来,读public,就行了,当然你可以装做是inputboxn返回的