user32.dll function fails without any error. I am afraid it kills my business.
|
|
Thread rating:  |
Judy Ackert - 17 Nov 2008 11:12 GMT Hello!
I have a code that relies on the user32.dll. It uses the SendInput function. I am no SendInput newbie.
This happens quite often (for about 1 of 50 customers):
They use my application for some time, then they suddenly say "It doesn't work anymore!". I then send them some test applications to dig down to the problem. And I found out that the problem is always based on the fact that SendInput doesn't do what I want.
This is not a Vista issue. I experience it happen on XP on, and it can appear from one moment to the other. Yesterday I had a customer who swore to me that he didn't do anything... he didn't install any software... nothing. He runs XP, so this is not a Vista issue.
What would you do if this function doesn't do what it should? Err.LastDLLError is 0. Oh god, this is so stupid... I don't understand why it always worked, and then suddenly not. For me this problem means if I can pay my rent or not.
Public Const KEYEVENTF_KEYUP As Long = &H2 Const KEYEVENTF_KEYDOWN = &H0 Const KEYEVENTF_EXTENDEDKEY = &H1 Const KEYEVENTF_UNICODE = &H4 Const INPUT_KEYBOARD = 1
Private Type KEYBDINPUT wVK As Integer wScan As Integer dwFlags As Long Time As Long dwExtraInfo As Long End Type
Public Type INPUT_Type dwType As Long xi(0 To 23) As Byte End Type
Public Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As INPUT_Type, ByVal cbSize As Long) As Long
Public Sub SendKey(ByVal lKey As Long) On Error Goto ErrHandler
Dim inputevents(0 To 1) As INPUT_TYPE Dim keyevent As KEYBDINPUT
With keyevent .wVk = 0 '/ wVK must be 0 if dwFlags contains the KEYEVENTF_UNICODE flag .wScan = lKey .dwFlags = KEYEVENTF_KEYDOWN Or KEYEVENTF_UNICODE .time = 0 .dwExtraInfo = 0 End With inputevents(0).dwType = INPUT_KEYBOARD CopyMemory inputevents(0).xi(0), keyevent, Len(keyevent)
With keyevent .wVk = 0 .wScan = lKey .dwFlags = KEYEVENTF_KEYUP Or KEYEVENTF_UNICODE .time = 0 .dwExtraInfo = 0 End With inputevents(1).dwType = INPUT_KEYBOARD CopyMemory inputevents(1).xi(0), keyevent, Len(keyevent)
Dim l& l = SendInput(2, inputevents(0), Len(inputevents(0)))
Exit Sub ErrHandler: MsgBox "An error occured in function #392347" End Sub
I don't understand it, and I am afraid it's killing my business if it don't find the error. What would you do to find the error?
Thorsten Albers - 17 Nov 2008 12:50 GMT Judy Ackert <judy.ackert@googlemail.com> schrieb im Beitrag <uLDFhVKSJHA.4240@TK2MSFTNGP03.phx.gbl>...
> I don't understand it, and I am afraid it's killing my business if it > don't find the error. > What would you do to find the error? That is rather hard to tell since we don't know what this is all for! What kind of applications shall be sent the keys? What shall the key send result in? Why is the key sent always in a 'double pack'?
First of all you should differentiate in your code between VB and Windows API errors. The line On Error Goto ErrHandler only catches VB errors, not Windows API errors. To implement the latter you should change your code:
l = SendInput(2, inputevents(0), Len(inputevents(0))) If l < 2 Then MsgBox "SendInput() failed!" _ & vbNewLine & "ErrCode: " & Err.LastDLLError End If
Beside this:
MsgBox "An error occured in function #392347" is not very useful if a VB error occurs. MsgBox "Error " & Err.Number & " occured in function #392347" is mutch better!
In general it seems to be more likely that the problem doesn't result from an error in your code but from the application to which the keys shall be sent.
 Signature ---------------------------------------------------------------------- Thorsten Albers albers(a)uni-freiburg.de ----------------------------------------------------------------------
Judy Ackert - 17 Nov 2008 15:04 GMT I don't see a double pack. The first stroke is the key down, the second one is the key up. I am 99,9999% sure it's not a problem with my code because for the user I'm telling you about it worked for MONTHS. And he said he didn't update anything, that's why I don't understand why it's not working anymore. Your point
"In general it seems to be more likely that the problem doesn't result from
> an error in your code but from the application to which the keys shall be > sent." seems good, but the problem with that theory is that the windows he used my function with always reacted as they should. Then from one minute to the other "BANG".
What you do next in my situation?
> Judy Ackert <judy.ackert@googlemail.com> schrieb im Beitrag > <uLDFhVKSJHA.4240@TK2MSFTNGP03.phx.gbl>... [quoted text clipped - 28 lines] > an error in your code but from the application to which the keys shall be > sent. Ralph - 17 Nov 2008 15:57 GMT > I don't see a double pack. The first stroke is the key down, the second > one is the key up. [quoted text clipped - 11 lines] > my function with always reacted as they should. > Then from one minute to the other "BANG". There just isn't enough information.
> What you do next in my situation? If I could I would immediately go and visit that client.
Before you do: Download WinDbg http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx And SysInternals tools http://technet.microsoft.com/en-us/sysinternals/0e18b180-9b7a-4c49-8120-c47c5a69 3683.aspx
Installing WinDbg on a user box is unintrusive compared to installing a development environment. Think of it has Dr. Watson on steroids. Setup WinDbg as the Just-In-Time Debugger, run the application to failure. The call-stack, etc. should provide some clues on where to get started.
SysInternals DebugViewer can be used with OutputDebugString() to provide a trace. It might be interesting to create a debug-version of your program and run that.
If you can't travel to the client, perhaps the client is savy enough to run this tool himself. Alternately you might try and find a consultant or knowledgeable programmer in the area to do the work for you. (Not cheap, but you said this was your business on the line.)
In any case, you can't just sit there and guess - you need information. And the customer needs assurance.
-ralph
Judy Ackert - 17 Nov 2008 17:58 GMT The return value of SendInput is 2 and Err.LastDLLError is 0 for the customer. There is no error in my application. What should I do next?
expvb - 17 Nov 2008 19:31 GMT > The return value of SendInput is 2 and Err.LastDLLError is 0 for the > customer. > There is no error in my application. > What should I do next? Ask the user to check Event Viewer. Windows Automatic Updates perhaps adds a log entry there. Also, ask the user to do a system restore to the day before the problem began to appear, to see if this is the cause for the problem.
Judy Ackert - 17 Nov 2008 23:20 GMT I don't want to be responsible for possibly ruining his computer. It's a handicapped person and he might go crazy if any program is changed by the Window restore procedure.
expvb - 18 Nov 2008 00:37 GMT >I don't want to be responsible for possibly ruining his computer. It's a >handicapped person and he might go crazy if any program is changed by the >Window restore procedure. In that case, you and the user can organize a remote control session, so you can see what happens and find a solution. In XP, check Start-->All Programs-->Remote Assistance, and read about it. Another choice is UltraVNC, which is free, open source. If the user have a router, he/she may have to open a TCP/IP port in order to use the software.
http://en.wikipedia.org/wiki/UltraVNC http://www.uvnc.com http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software
One rule of thumb that you may want to tell the user: In order to fix the problem, you have to duplicate it first.
Since you said SendKeys works, but SendInput doesn't, you may want to record what GetForegroundWindow() returns, and if it's different, log the information.
Also, it is possible that SendInput is working, but you maybe using it the wrong way with specific keys. Can you provide an example of what keys are you sending? In one case, some have found out that sending Alt+E to Office applications fails, but Alt+e works. Obviously you have to press the Shift and Alt keys to get upper case letters, so sending Alt+E alone doesn't make sense because you have to send Alt+Shift+e. The user may have Caps Lock on, and this could cause some problems, so ask the user.
Judy Ackert - 18 Nov 2008 02:07 GMT > Since you said SendKeys works, but SendInput doesn't, you may want to record > what GetForegroundWindow() returns, and if it's different, log the > information. I don't know what you mean. Why should GetForegroundWindow return a different value when my application wasn't even started yet? Or do you mean after my keys were sent to the top window?
> Also, it is possible that SendInput is working, but you maybe using it the > wrong way with specific keys. Can you provide an example of what keys are [quoted text clipped - 3 lines] > sense because you have to send Alt+Shift+e. The user may have Caps Lock on, > and this could cause some problems, so ask the user. No, I'm not doing this adventurous stuff. I am sending a very simple test text like "abc". SendInput ignores all keyboard states, so you can even hold down Esc, have Capslock on, etc., and it will still write the text. Normally...
And ANSI-Windows even convert Unicode characters to ANSI chars, so this cannot be the fault either. I mean... what really makes me think that this is a deeper problem is that it worked all the time, then suddenly (whatever may be the cause) no longer. And it isn't a single user only but quite some people now...
expvb - 18 Nov 2008 02:40 GMT >> Since you said SendKeys works, but SendInput doesn't, you may want to >> record what GetForegroundWindow() returns, and if it's different, log the [quoted text clipped - 3 lines] > different value when my application wasn't even started yet? Or do you > mean after my keys were sent to the top window? It's hard to tell without seeing the whole picture as you are seeing. I was thinking that you maybe doing something that clicks buttons or presses tabs, and the software shifts focus to an unintended target window.
> SendInput ignores all keyboard states, so you can even hold down Esc, have > Capslock on, etc., and it will still write the text. Normally... That's not true according to MSDN. Here is a quote from the Remarks section: "This function does not reset the keyboard's current state. Any keys that are already pressed when the function is called might interfere with the events that this function generates. To avoid this problem, check the keyboard's state with the GetAsyncKeyState function and correct as necessary."
SendInput: http://msdn.microsoft.com/en-us/library/ms646310.aspx
> I mean... what really makes me think that this is a deeper problem is that > it worked all the time, then suddenly (whatever may be the cause) no > longer. And it isn't a single user only but quite some people now... This suggests Automatic Windows Update affecting how SendInput work. Try using Caps Lock and see how your software work, or update Windows to see if you can duplicate the problem. You probably can use System Restore to undo the update.
If you don't like to do changes to your system, use Virtual PC, which basically allows you have a PC inside a PC. You still need the OS CD to install on Virtual PC. It's free software and you can download it from here:
Virtual PC http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx
Judy Ackert - 18 Nov 2008 02:09 GMT expvb,
I forgot to say thank you very much for your help.
expvb - 18 Nov 2008 02:41 GMT > expvb, > > I forgot to say thank you very much for your help. You're welcome...
Thorsten Albers - 17 Nov 2008 16:01 GMT Judy Ackert <judy.ackert@googlemail.com> schrieb im Beitrag <eGlhcXMSJHA.2432@TK2MSFTNGP05.phx.gbl>...
> I don't see a double pack. The first stroke is the key down, the second > one is the key up. Sorry, my fault.
> I am 99,9999% sure it's not a problem with my code because for the user > I'm telling you about it worked for MONTHS. [quoted text clipped - 3 lines] > my function with always reacted as they should. > Then from one minute to the other "BANG". This statement of a user nowadays is of no worth since if he has turned on MS Windows XP/Vista automatic updates there may have been changed something without knowing him that it has. If there can't be find any other source of the problem the user should give you the list of MS OS updates installed on his machine, and you should check the MS knowledge base articles on known issues.
Again: It is very hard to tell something about the reasons if we don't know what your VB program exactly does. The given code snippet doesn't provide any information about this!
> What you do next in my situation? - Did you check the return value of SendInput()? - Did you check Err.LastDLLError, if it is not = 2?
 Signature ---------------------------------------------------------------------- Thorsten Albers albers(a)uni-freiburg.de ----------------------------------------------------------------------
expvb - 17 Nov 2008 16:42 GMT > What you do next in my situation? I would add "/log" option(Use Command() function to obtain it), then record as much information as needed to fix the problem. Use GetForegroundWindow() to see if the window is not what is expected. It's possible that another application showed a window and hid it quickly, and the original window lost keyboard focus. GetForegroundWindow can return Null in some situations, see MSDN for details.
In the link below I posted a function, LogDebugInfo, to save a string to a log file in the user's TEMP folder:
http://groups.google.com/group/microsoft.public.vb.general.discussion/msg/df0e43 d1c26176ea
Ralph suggestion to use DebugView is a good suggestion. You use OutputDebugString() to print to it, this is like having Debug.Print for EXE's, but you have to add "& vbCrLf" at the end so it doesn't print everything in the same line. WinDbg however is for detecting where a crash occurred in the EXE, and it seems that your software is not crashing.
Finally, please post what OS and Service Pack the user is using. If possible, ask the user if Automatic Updates is turned on, and to run PsList in case the user has a program running that is known to cause problems.
PsList: http://technet.microsoft.com/en-us/sysinternals/bb896682.aspx
Judy Ackert - 17 Nov 2008 23:18 GMT OS: 5.1. SP: Service Pack 2
Dave O. - 17 Nov 2008 16:50 GMT > And he said he didn't update anything, that's why I don't understand why > it's not working anymore. If you want to maintain your sanity, NEVER believe a user who confidently states "We havn't changed anything", a users opinion of what constitutes "change" will differ significantly from what you or I would consider "change". It often helps to assume most users have a negative IQ.
Dave O.
Judy Ackert - 17 Nov 2008 23:13 GMT We can assume that it's really a problem with the SendInput function because the VB's sendkeys method works. Any more ideas?
Thorsten Albers - 18 Nov 2008 16:10 GMT Judy Ackert <judy.ackert@googlemail.com> schrieb im Beitrag <uUYonoQSJHA.5364@TK2MSFTNGP05.phx.gbl>...
> We can assume that it's really a problem with the SendInput function > because the VB's sendkeys method works. > Any more ideas? You have told us that several users are concerned by the problem. So, try to find something which these users have in common. E.g. you told us about one of the users that he is handicapped. Is this true for more than one of the users? Handicapped persons often have additional hardware and/or software installed which helps them to use the hardware and/or software more easily. This hardware and/or software may have been updated silently in the background. And those always are possible candidates which may interfer with SendInput(). Another idea: SendInput() is a procedure used also by malware. Online virus scanners and the like therefore somehow may prohibit execution of this procedure. And online virus scanners usually get updated silently in the background. Ask your users a) if and which online virus scanner they have installed, and b) if things get changed if the online virus scanner is disabled temporarily. For problems with online virus scanners compare e.g. the Avira AntiVir guard which with some versions prohibits execution of some application claiming that it contains a virus which it doesn't.
 Signature ---------------------------------------------------------------------- Thorsten Albers albers(a)uni-freiburg.de ----------------------------------------------------------------------
Judy Ackert - 19 Nov 2008 00:07 GMT Yes, I will ask him my user what virus scanner and or firewall he uses.
Dean Earley - 19 Nov 2008 14:40 GMT > We can assume that it's really a problem with the SendInput function > because the VB's sendkeys method works. They both use completely different methods.
> Any more ideas? Looking at the replies, you have shot down every suggestion saying you can't do that. You may want to try some of them to see if they help.
 Signature Dean Earley (dean.earley@icode.co.uk) i-Catcher Development Team
iCode Systems
Kevin Provance - 19 Nov 2008 16:31 GMT What concerns me is that, multiple times, request for code, used in context (not the function itself) has been asked to be posted...and that request keeps getting dodged. The function itself is too vague.
So I'll ask: What exactly are you doing?
| > We can assume that it's really a problem with the SendInput function | > because the VB's sendkeys method works. [quoted text clipped - 6 lines] | can't do that. | You may want to try some of them to see if they help. Judy Ackert - 24 Nov 2008 17:02 GMT I visited the user... phew... Okay, about your question: I have a virtual key board like the windows on s cr eenkeyboard. What I did when I visited the user was to subclass the textbox which should receive the characters sent by SendInput. I compared the window messages to the ones that I received on my computer, and I saw some significant differences. The textbox receives totally different messages. I wonder how that can happen. I don't know how much code you want to see, so I'm posting everything. Please tell me when you want to know more.
Judy.
This what is shown on my computer when I send a text:
24.11.2008 - 17:54:27: {____PUSHSTRING 24.11.2008 - 17:54:27: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:27: {Sending 'D' 24.11.2008 - 17:54:27: Sending 'D'} 24.11.2008 - 17:54:27: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending 'a' 24.11.2008 - 17:54:28: Sending 'a'} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending 's' 24.11.2008 - 17:54:28: Sending 's'} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending ' ' 24.11.2008 - 17:54:28: Sending ' '} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending 'i' 24.11.2008 - 17:54:28: Sending 'i'} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending 's' 24.11.2008 - 17:54:28: Sending 's'} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:28: {Sending 't' 24.11.2008 - 17:54:28: Sending 't'} 24.11.2008 - 17:54:28: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:28: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending ' ' 24.11.2008 - 17:54:29: Sending ' '} 24.11.2008 - 17:54:29: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:29: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending 'e' 24.11.2008 - 17:54:29: Sending 'e'} 24.11.2008 - 17:54:29: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:29: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending 'i' 24.11.2008 - 17:54:29: Sending 'i'} 24.11.2008 - 17:54:29: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:29: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending 'n' 24.11.2008 - 17:54:29: Sending 'n'} 24.11.2008 - 17:54:29: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:29: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending ' ' 24.11.2008 - 17:54:29: Sending ' '} 24.11.2008 - 17:54:29: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:29: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:29: {Sending 'B' 24.11.2008 - 17:54:30: Sending 'B'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 'e' 24.11.2008 - 17:54:30: Sending 'e'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 'i' 24.11.2008 - 17:54:30: Sending 'i'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 's' 24.11.2008 - 17:54:30: Sending 's'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 'p' 24.11.2008 - 17:54:30: Sending 'p'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 'i' 24.11.2008 - 17:54:30: Sending 'i'} 24.11.2008 - 17:54:30: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:30: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:30: {Sending 'e' 24.11.2008 - 17:54:30: Sending 'e'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending 'l' 24.11.2008 - 17:54:31: Sending 'l'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending '-' 24.11.2008 - 17:54:31: Sending '-'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending 'T' 24.11.2008 - 17:54:31: Sending 'T'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending 'e' 24.11.2008 - 17:54:31: Sending 'e'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending 'x' 24.11.2008 - 17:54:31: Sending 'x'} 24.11.2008 - 17:54:31: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:31: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:31: {Sending 't' 24.11.2008 - 17:54:32: Sending 't'} 24.11.2008 - 17:54:32: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:32: CopyMemory: Last dll error: 0 24.11.2008 - 17:54:32: {Sending '.' 24.11.2008 - 17:54:32: Sending '.'} 24.11.2008 - 17:54:32: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 17:54:32: {PUSHSTRING_____} 24.11.2008 - 17:54:32: Text in TextBox1: 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 68, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 68, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 97, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 97, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:32: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 116, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 116, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:33: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 110, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 110, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 32, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 66, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 66, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 115, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 112, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 112, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 105, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 108, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 108, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 45, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 45, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 84, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 84, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 101, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 120, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 120, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 116, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 116, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 256, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 258, wParam: 46, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 1, lng_hWnd: 2164096, uMsg: 258, wParam: 46, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Wahr, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:34: Window: TextBox,bBefore: Falsch, bHandled: Falsch, lReturn: 0, lng_hWnd: 2164096, uMsg: 257, wParam: 231, lParamUser: 0 24.11.2008 - 17:54:37: Text in TextBox1 at unload: Das ist ein Beispiel-Text.
And this is what happens on the user's computer:
24.11.2008 - 13:43:59: {____PUSHSTRING 24.11.2008 - 13:43:59: CopyMemory: Last dll error: 0 24.11.2008 - 13:43:59: {Sending 'D' 24.11.2008 - 13:44:00: Sending 'D'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'a' 24.11.2008 - 13:44:00: Sending 'a'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 's' 24.11.2008 - 13:44:00: Sending 's'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending ' ' 24.11.2008 - 13:44:00: Sending ' '} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'i' 24.11.2008 - 13:44:00: Sending 'i'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 's' 24.11.2008 - 13:44:00: Sending 's'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 't' 24.11.2008 - 13:44:00: Sending 't'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending ' ' 24.11.2008 - 13:44:00: Sending ' '} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'e' 24.11.2008 - 13:44:00: Sending 'e'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'i' 24.11.2008 - 13:44:00: Sending 'i'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'n' 24.11.2008 - 13:44:00: Sending 'n'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending ' ' 24.11.2008 - 13:44:00: Sending ' '} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'B' 24.11.2008 - 13:44:00: Sending 'B'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'e' 24.11.2008 - 13:44:00: Sending 'e'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'i' 24.11.2008 - 13:44:00: Sending 'i'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 's' 24.11.2008 - 13:44:00: Sending 's'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'p' 24.11.2008 - 13:44:00: Sending 'p'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'i' 24.11.2008 - 13:44:00: Sending 'i'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'e' 24.11.2008 - 13:44:00: Sending 'e'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'l' 24.11.2008 - 13:44:00: Sending 'l'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending '-' 24.11.2008 - 13:44:00: Sending '-'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'T' 24.11.2008 - 13:44:00: Sending 'T'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'e' 24.11.2008 - 13:44:00: Sending 'e'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 'x' 24.11.2008 - 13:44:00: Sending 'x'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending 't' 24.11.2008 - 13:44:00: Sending 't'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: CopyMemory: Last dll error: 0 24.11.2008 - 13:44:00: {Sending '.' 24.11.2008 - 13:44:00: Sending '.'} 24.11.2008 - 13:44:00: Sendinput: l Returned: 2, Last dll error: 0 24.11.2008 - 13:44:00: {PUSHSTRING_____} 24.11.2008 - 13:44:00: Text in TextBox1: 24.11.2008 - 13:44:04: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 8, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:04: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 8, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:04: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 641, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:04: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 642, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:04: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 642, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:04: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 641, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:04: I am not the foreground window!!!! 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: I am not the foreground window!!!! 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: I am not the foreground window!!!! 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 20, wParam: 16842839, lParamUser: 0 24.11.2008 - 13:44:10: I am not the foreground window!!!! 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 20, wParam: 16842839, lParamUser: 0 24.11.2008 - 13:44:10: I am not the foreground window!!!! 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 20, wParam: 16842836, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 20, wParam: 16842836, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 641, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 642, wParam: 2, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 642, wParam: 2, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 641, wParam: 1, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 7, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 7, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:10: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 15, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:11: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 15, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:11: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:11: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 132, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 32, wParam: 132894, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:12: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 512, wParam: 0, lParamUser: 0 24.11.2008 - 13:44:14: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: -1627124432, lParamUser: 0 24.11.2008 - 13:44:14: Window: TextBox,bBefore: False, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 133, wParam: -1627124432, lParamUser: 0 24.11.2008 - 13:44:14: Window: TextBox,bBefore: True, bHandled: False, lReturn: 0, lng_hWnd: 132894, uMsg: 20, wParam: 16842839, lParamUser: 0 24.11.2008 - 13:44:14: Window: TextBox,bBefore: False, bHandled: False, lReturn: 1, lng_hWnd: 132894, uMsg: 20, wParam: 16842839, lParamUser: 0 24.11.2008 - 13:44:18: Text in TextBox1 at unload:
Kevin Provance - 24 Nov 2008 17:46 GMT Das ist ein Beispiel-Text?
Wenn sie versuchen, einen satz zu senden, senden sie den gesamten text auf einmal. Uerwenden sie das SendMessage API mit WM_SETTEXT wParam. lParam (ummmm...) halt den text, um zu senden (I think)
::forgive the very rusty German::
|I visited the user... phew... | Okay, about your question: I have a virtual key board like the windows [quoted text clipped - 729 lines] | lReturn: 1, lng_hWnd: 132894, uMsg: 20, wParam: 16842839, lParamUser: 0 | 24.11.2008 - 13:44:18: Text in TextBox1 at unload: expvb - 24 Nov 2008 17:58 GMT Try calling AttachThreadInput(), then SetActiveWindow(). Make sure that you detach by calling AttachThreadInput again if the first call was successful. Use a Boolean variable, like bAttached.
AttachThreadInput allows the target app to see the keyboard state changes as each thread normally has its own state, so changes made by SetKeyboardState or similar in your app is seen by the target app when it calls GetKeyState or GetKeyboardState.
Judy Ackert - 25 Nov 2008 00:28 GMT But...
the textbox is sent the text to is on my own form. I mean it is my application/ thread, so I don't need to AttachThreadInput, do I????
Kevin Provance - 25 Nov 2008 00:40 GMT What?
The textbox is on your own form? Why use SendInput at all then? Text1.Text = "whatever"
| But... | | the textbox is sent the text to is on my own form. I mean it is my | application/ thread, so I don't need to AttachThreadInput, do I???? expvb - 25 Nov 2008 02:02 GMT > But... > > the textbox is sent the text to is on my own form. I mean it is my > application/ thread, so I don't need to AttachThreadInput, do I???? No you don't. You haven't described in detail what your application does and how it looks like, so I don't know. As Kevin said, why not use "Text1.Text = ..."? Does your program show buttons like a keyboard? If so, you need to use BlockInput(), Text1.SetFocus before calling SendInput.
If you don't want your keyboard buttons to get focus, you can intercept WM_MOUSEACTIVATE, and return MA_NOACTIVATEANDEAT. This ignores the mouse click so the TextBox doesn't lose focus.
Judy Ackert - 25 Nov 2008 02:55 GMT WAAAAAAAAAAAH!!!!! I AM NOT SO STUPID!!! WHAT ARE YOU THINKING??? I did this because I wanted to make sure it works... which doesn't.
Judy Ackert - 25 Nov 2008 02:58 GMT As I have said: It works for me, but not for the user. There is no problem with focus or whatever. I am not that newbie. The fact is that SendInput simply does not work. Without any error!!! That is why I came HERE and not to a VB6 newsgroup.
Bill McCarthy - 25 Nov 2008 03:04 GMT Hi Judy,
> As I have said: It works for me, but not for the user. > There is no problem with focus or whatever. I am not that newbie. > The fact is that SendInput simply does not work. Without any error!!! > That is why I came HERE and not to a VB6 newsgroup. Is the user's machine running Vista ? There's an important note in regards to SendInput on Vista:
<quote> Microsoft Windows Vista. This function fails when it is blocked by User Interface Privilege Isolation (UIPI). Note that neither GetLastError nor the return value will indicate the failure was caused by UIPI blocking. </quote>
Judy Ackert - 25 Nov 2008 03:35 GMT No.... :-((( It's XP, SP2.
Judy Ackert - 25 Nov 2008 03:40 GMT MSDN says: ------ If KEYEVENTF_UNICODE is specified, SendInput sends a WM_KEYDOWN or WM_KEYUP message to the foreground thread's message queue with wParam equal to VK_PACKET. Once GetMessage or PeekMessage obtains this message, passing the message to TranslateMessage posts a WM_CHAR message with the Unicode character originally specified by wScan. This Unicode character will automatically be converted to the appropriate ANSI value if it is posted to an ANSI window. ------- Is it possible that another window which is not the visible foreground window can be the "foreground thread" and receive the window messages instead of my visible, focussed foreground window? This is the only explanation I can think of right now.
I installed almost every program that the user had on his PC including his virus scanner and eMail software, etc. But I cannot recreate this behaviour.
expvb - 25 Nov 2008 04:07 GMT > Is it possible that another window which is not the visible foreground > window can be the "foreground thread" and receive the window messages > instead of my visible, focussed foreground window? This is the only > explanation I can think of right now. That's what I am thinking too. One way to show the title of the window that is stealing the focus is by sending WM_GETTEXT to the foreground window. Use this function to get a window title by hWnd, such as returned by GetForegroundWindow:
Public Const MAX_PATH As Long = 260 Public Const WM_GETTEXT = &HD 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 Function GetWindowTitle(ByVal hWnd As Long) As String Dim sTitle As String Dim posNull As Long
sTitle = String(MAX_PATH + 1, 0)
SendMessage hWnd, WM_GETTEXT, MAX_PATH, ByVal sTitle ' Remove the null posNull = InStr(sTitle, Chr(0)) If posNull <> 0 Then sTitle = Trim(Left(sTitle, posNull - 1)) End If GetWindowTitle = sTitle End Function
Thorsten Albers - 25 Nov 2008 12:39 GMT Judy Ackert <judy.ackert@googlemail.com> schrieb im Beitrag <em6U5mqTJHA.3648@TK2MSFTNGP05.phx.gbl>...
> As I have said: It works for me, but not for the user. > There is no problem with focus or whatever. I am not that newbie. > The fact is that SendInput simply does not work. Without any error!!! > That is why I came HERE and not to a VB6 newsgroup. It's very easy: a) If SendInput() didn't report an error, it worked as it is supposed to do. b) If SendInput() didn't fail, and if your application didn't receive the data which has been sent by using SendInput(), SendInput() sent the data to a window other than the one of your application. c) Since SendInput() just puts your data into the keyboard stream, the window which has the keyboard focus at the time SendInput() is executed receives the data.
So on the problematic machine immediately before SendInput() is executed you should examine and log which window currently has the keyboard focus (GetForegroundWindow()). If that one should be your application but isn't, use the retrieved window handle with e.g. GetClassName() to get more information on the window which received the data sent by SendInput(). Identifying this window presumably will show you what exactly the problem is.
Typically this could be - a process which captures the keyboard input to inform the user about what has been typed, e.g. a screen reader for blind people. - a process which shall prevent other processes from beeing automated by malware or the like. - a process which somehow aggressively brings itself into the foreground, e.g. an invisible key logger (the users with the problematic machines should check them with a up-to-date virus scanner; to do so the machine has to be booted not with the OS installation where the problem occurs but from a media other than the local HDD, e.g. an emergency CD-ROM). - an input method editor (IME); note that your application on the problematic machine according to your log receives some IME messages.
 Signature ---------------------------------------------------------------------- Thorsten Albers albers(a)uni-freiburg.de ----------------------------------------------------------------------
Judy Ackert - 25 Nov 2008 19:12 GMT The foreground window is
DEREFER - Windows Internet Explorer
What?? I always set the focus back on to my form and into the textbox, but DEREFER is always becomes the foreground window again...
expvb - 25 Nov 2008 19:30 GMT > The foreground window is > > DEREFER - Windows Internet Explorer > > What?? I always set the focus back on to my form and into the textbox, but > DEREFER is always becomes the foreground window again... In Windows, you can have an active window(per application) and foreground window(system wide). Windows doesn't make it easy to set the foreground window, because a program like a virus could show a window and hijack the user interface. See the remarks section of SetForegroundWindow about these rules:
SetForegroundWindow: http://msdn.microsoft.com/en-us/library/ms633539(VS.85).aspx
See also SetActiveWindow() and SetFocus() API functions.
Judy Ackert - 25 Nov 2008 21:46 GMT > See also SetActiveWindow() and SetFocus() API functions. I don't use these. I simply show my form. It shows the focus already, but to make sure it still has the focus when the SendInput is done, I say Me.txtText.SetFocus
Focus never was my problem.
expvb - 26 Nov 2008 01:56 GMT >> See also SetActiveWindow() and SetFocus() API functions. > > I don't use these. I mentioned them to show that a window can be active, but not the foreground window.
> I simply show my form. It shows the focus already, but to make sure it > still has the focus when the SendInput is done, I say Me.txtText.SetFocus > > Focus never was my problem. Try this sample code in a new project. Place 2 Text Boxes and a Timer on Form1, then paste the following code in the general section of Form1:
Option Explicit
Private Sub Form_Load() Debug.Print "Form_Load: Current time: " & Now Timer1.Interval = 5000 Timer1.Enabled = True End Sub
Private Sub Timer1_Timer() Debug.Print "Timer1_Timer: Current time: " & Now Text2.SetFocus End Sub
Compile the project, do not run it from the IDE. Start the EXE from Windows Explorer, the focus should be on Text1. After 5 seconds, the focus switches to Text2. Now try the process again, but this time, start Notepad before the 5 seconds finishes(Increase the time in the code as needed). You will notice after 5 seconds, the insertion point goes to Text2, but the window is still shown as inactive, and Form1 flashes in the task bar. Notepad during this time is still the foreground window and would receive SendInput data.
Note that while the user may not have a window flashing when this problem happens, not all windows appear in the task bar(See ShowInTaskBar property).
Finally, use GetWindowThreadProcessId() to get the foreground window process ID and ask the user to use Task Manager to see the process name. Alternatively, you can save the process list into a log file. See the following article:
How To List Running Processes: http://support.microsoft.com/kb/187913
Judy Ackert - 26 Nov 2008 13:28 GMT Okay, I understand, but focus doesn't seem to be problem here. If I don't use the Unicode version (KEYEVENTF_UNICODE) to send the string, it works perfectly. I can only think of an application intercepting the window messages. I ask the user to do a complete virus scan... but I'm afraid it won't help if a virus wasn't found already by the virus live guard. What also came to my mind: Does anybody know what the Internet Explorer Customer Experience thing does? Because of an error in the runonce page in the Internet Explorer I can't test it myself yet (Big respect to MS for not being able to create an error free start page!), but could it be possible that Internet Explorer is logging the keys?
expvb schrieb:
>>> See also SetActiveWindow() and SetFocus() API functions. >>> [quoted text clipped - 42 lines] > How To List Running Processes: > http://support.microsoft.com/kb/187913 expvb - 26 Nov 2008 16:54 GMT > Okay, I understand, > but focus doesn't seem to be problem here. SendInput data will go to GetForegroundWindow(). If that is not the same as the intended window, then the data will go to that other window. Calling SetForegroundWindow() does not guarantee that the window will get focus. Always use GetForegroundWindow() to see if SetForegroundWindow() was successful.
> If I don't use the Unicode version (KEYEVENTF_UNICODE) to send the string, > it works perfectly. I can only think of an application intercepting the [quoted text clipped - 4 lines] > Does anybody know what the Internet Explorer Customer Experience thing > does? Sends feedback to Microsoft.
> Because of an error in the runonce page in the Internet Explorer I can't > test it myself yet (Big respect to MS for not being able to create an > error free start page!), but could it be possible that Internet Explorer > is logging the keys? Maybe that particular IE version handles keyboard in a different way. Also, IE supports Add-ons, which could launch a key logger. You can get the list of IE Add-ons from the Tools menu-->Manage Addons, or by using a tool called "hijackthis".
Finally, check this sample which shows how to convert virtual key codes to scan codes to be used with SendInput, so you don't have to use KEYEVENTF_UNICODE:
http://vb.mvps.org/samples/project.asp?id=sendinput
Judy Ackert - 26 Nov 2008 19:39 GMT > Finally, check this sample which shows how to convert virtual key codes to > scan codes to be used with SendInput, so you don't have to use > KEYEVENTF_UNICODE: > > http://vb.mvps.org/samples/project.asp?id=sendinput Please don't send me wanna-be-solutions. This makes me angry because you think I'm newbie. I know why I don't use virtual key codes. Because I want to send keys that are not on the current keyboard layout.
Kevin Provance - 26 Nov 2008 23:04 GMT Wanna be solutions? The guy who wrote that code is far from a wanna be. Show some respect and keep a civil tongue please.
How you went from "my buisness is going to fall apart" to "fix all my problems or suffer my wrath" is about as suspect as what you're trying to accomplish, which I suspect is not as legitimate as you want us to believe.
There, I said it. Elephant in the room addressed. I've asked you twice to show via code hat you're trying to do, and you have either ignorned me, provided useless information or skirted the issue. Big time red flag. I'm done until I'm convinced otherwise.
Good luck.
| > Finally, check this sample which shows how to convert virtual key codes to | > scan codes to be used with SendInput, so you don't have to use [quoted text clipped - 6 lines] | I know why I don't use virtual key codes. | Because I want to send keys that are not on the current keyboard layout. Stephane - 27 Nov 2008 00:58 GMT > Wanna be solutions? The guy who wrote that code is far from a wanna be. > Show some respect and keep a civil tongue please. No, it's a complete newbie code.
Kevin Provance - 27 Nov 2008 02:22 GMT Another "girl" posting from Germany, eh? Find someplace else to ask how to write your bloody malware. The author of the code you are dissing could code circles around your wanna-be hacker @ss.
| > Wanna be solutions? The guy who wrote that code is far from a wanna be. | > Show some respect and keep a civil tongue please. | | No, it's a complete newbie code. Thorsten Albers - 27 Nov 2008 12:37 GMT Kevin Provance <kevin@remove_tpasoft_remove.com> schrieb im Beitrag <uvkgJcDUJHA.4916@TK2MSFTNGP06.phx.gbl>...
> Another "girl" posting from Germany, eh? Do you have any problems with Germany?
 Signature ---------------------------------------------------------------------- Thorsten Albers albers(a)uni-freiburg.de ----------------------------------------------------------------------
Kevin Provance - 27 Nov 2008 17:06 GMT Not at all. My point is that the two separate posters are posting from the same place, Germany. If both posters had been posting from France or Japan, my observation would have been the same...in that it's the same person (or persons) from the same locale acting shady.
- Kev
| Kevin Provance <kevin@remove_tpasoft_remove.com> schrieb im Beitrag | <uvkgJcDUJHA.4916@TK2MSFTNGP06.phx.gbl>... | > Another "girl" posting from Germany, eh? | | Do you have any problems with Germany? seb - 27 Nov 2008 17:50 GMT > Not at all. My point is that the two separate posters are posting from > the > same place, Germany. You're blind and again more noob that the "author" of the bullshit sample code. simply laughable
Judy Ackert - 29 Nov 2008 02:14 GMT You're paranoid and have many negative thoughts... oh plus you're a sexist! I even know assembler... and there are more girls in programming than you may know...
Bill McCarthy - 29 Nov 2008 03:25 GMT I think this this is a bit out of line here. I can't see anything of Thorsten's that warrants this response.
> You're paranoid and have many negative thoughts... oh plus you're a > sexist! > I even know assembler... and there are more girls in programming than you > may know... Thorsten Albers - 29 Nov 2008 12:09 GMT Bill McCarthy <Bill@localhost.com> schrieb im Beitrag <#1PmBJdUJHA.5200@TK2MSFTNGP05.phx.gbl>...
> I think this this is a bit out of line here. I can't see anything of > Thorsten's that warrants this response. Her's was a response to Kevin's posting and not to a posting of mine!
-- Thorsten Albers - albers (a) uni-freiburg.de
Bill McCarthy - 01 Dec 2008 23:13 GMT > Bill McCarthy <Bill@localhost.com> schrieb im Beitrag > <#1PmBJdUJHA.5200@TK2MSFTNGP05.phx.gbl>... >> I think this this is a bit out of line here. I can't see anything of >> Thorsten's that warrants this response. > > Her's was a response to Kevin's posting and not to a posting of mine! Of course, that makes a lot more sense. Sorry, my bad, I have Kevin Provance's posts blocked so I only see them if someone responds ot him and quotes him. Obviously I fully concur with Judy on that ;)
Kevin Provance - 01 Dec 2008 23:22 GMT LMAO. Textbook Ostrich Syndrome.
| > Bill McCarthy <Bill@localhost.com> schrieb im Beitrag | > <#1PmBJdUJHA.5200@TK2MSFTNGP05.phx.gbl>... [quoted text clipped - 6 lines] | Provance's posts blocked so I only see them if someone responds ot him and | quotes him. Obviously I fully concur with Judy on that ;) Judy Ackert - 06 Dec 2008 13:39 GMT I have something very strange going on here...
Thorsten said:
- an input method editor (IME); note that your application on the problematic machine according to your log receives some IME messages.
I did read a bit about the IME Editor and what I readt was something like "IME Editor is created automatically for your application", so I did not pay much attention to it. Now, after trying many other things, I finally got to the IME Editor thing again and noticed this very strange thing:
On the problematic machine I have the following window in the collection of currently open windows:
Window text: Default IME, Window process owner: <MyApplication>.EXE, Window hwnd: 197008
On my other machines I do NOT have this "Default IME" window, and I have no clue where this window comes from. I do not have any form with such a caption in my application, but I am 99% sure now that this is my problem!!!!
Does anybody have an clue what might be going on?
Judy
Judy Ackert - 06 Dec 2008 15:11 GMT Okay, I have reproduced the "Default IME". "Default IMEs" are attached to (any?) Windows is language support for other languages is activated in Windows. But even with this thing on everything runs normal here. Thorsten, any more ideas?
Bill McCarthy - 10 Dec 2008 03:28 GMT Hi Judy,
Have you tried to add a SendMessage with WM_ACTIVATE to your window before calling SendInput ?
> Okay, I have reproduced the "Default IME". "Default IMEs" are attached to > (any?) Windows is language support for other languages is activated in > Windows. But even with this thing on everything runs normal here. > Thorsten, any more ideas? Judy Ackert - 11 Dec 2008 10:54 GMT Why should I do this? If KEYEVENTF_UNICODE is not specified everything works. It doesn't seem to be a focus problem.
> Hi Judy, > [quoted text clipped - 5 lines] >> in Windows. But even with this thing on everything runs normal here. >> Thorsten, any more ideas? expvb - 11 Dec 2008 12:21 GMT > Why should I do this? If KEYEVENTF_UNICODE is not specified everything > works. > It doesn't seem to be a focus problem. First, by searching for "KEYEVENTF_UNICODE bug", I found this interesting page(See the last reply):
http://www.eggheadcafe.com/software/aspnet/31072937/sendinput-with-keyeventf.aspx
WM_KEYDOWN/UP gets VK_PACKET(has a value of &HE7) when SendInput is used, so an application that expects specific keycodes when processing these messages won't see them unless the application is looking at WM_CHAR as well(Or lets DefWindowProc() do its job).
Try sending WM_CHAR directly to the window directly. WM_CHAR already uses Unicode characters, and since you would be sending directly to the window, it won't matter which application is in the foreground. Here is a sample to try: Add a TextBox and a Timer to Form1, set the textbox MultiLine property to True, then paste the following code. The sample works better if you specify Notepad's "Edit" hWnd, which is a Unicode window. Change the font to a Unicode one, such as "Arial Unicode MS".
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 SendMessageW Lib "user32" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_CHAR = &H102 Private Const WM_UNICHAR = &H109
Private Sub Form_Load() Text1.Text = "" Timer1.Interval = 200 End Sub
Private Sub Timer1_Timer() Static LastCharCode As Long Dim ret As Long
If LastCharCode = 0 Then LastCharCode = 65 End If
Me.Caption = Str(LastCharCode) ret = SendUnicodeChar(Text1.hWnd, LastCharCode) Debug.Print ret, LastCharCode LastCharCode = LastCharCode + 1 End Sub
Private Function SendUnicodeChar(ByVal hWnd As Long, ByVal lKey As Long) As Long SendUnicodeChar = SendMessageW(hWnd, WM_CHAR, lKey, ByVal 1&) End Function
|
|