我想设计这样的方案.在另一个程序里的一个text文本框中如果输入某特定的数字(如123),则在我做的程序中记录并且擦掉这输入的数字.就是不允许输入一系特定数字,问题是其他控件(如表格框中有可能输入123456),则发生误判.所以,我想先判断是不是那个文本框.再判断是不是输入3位数字.再判断是不是123.
问题2:如果能有什么办法监测到文本框输入数字后的回车,我在判断是不是特定数字,这样也应该可以避免其他数字输入不进去了(比如12345就输入不进去,因为我输入123时候就把123删除了)如果能判断回车就好了,哪个高手嫩解答,谢谢!
问题2:如果能有什么办法监测到文本框输入数字后的回车,我在判断是不是特定数字,这样也应该可以避免其他数字输入不进去了(比如12345就输入不进去,因为我输入123时候就把123删除了)如果能判断回车就好了,哪个高手嫩解答,谢谢!
http://community.csdn.net/Expert/topic/3637/3637199.xml?temp=.617367
If hwnd = Form1.hwnd Or hwnd = 0 Then Exit Sub '如果是自己则退出
mlngThrdID = GetCurrentThreadId() '获得当前窗体的线程ID
lngThrdID = GetWindowThreadProcessId(hwnd, vbNull) '获得活动窗体的线程ID
n = AttachThreadInput(lngThrdID, mlngThrdID, True) '附加线程
mlngHwnd = GetFocus '获得光标所在的窗体句柄 If mlngHwnd <> 0 Then
TXT = GetText(mlngHwnd)这里最好用监测类名再加个判断(问题1)或者判断回车(问题2)
If IsNumeric(TXT) = True And Len(TXT) = 6 And (Mid(TXT, 1, 1) = 1 Or Mid(TXT, 1, 1) = 3) Then
Gysbm = TXT
If Gysbm <> "" Then
If Gysbm <> lastBm Then
lastBm = Gysbm
If ..........Then
SetForegroundWindow mlngHwnd
chkJc
End If
End If
End If
Else
Gysbm = ""
End If
' If TXT = "经销" Then
' SendMessage mlngHwnd, WM_SETTEXT, 0, ByVal "代销" '改变combo1的值
' End If
Else
TXT = ""
End If
n = AttachThreadInput(lngThrdID, mlngThrdID, False) '取消附加线程
End Sub
==========================
使用api:getclassname