Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsVB SyntaxEnterprise DevelopmentDatabase AccessControlsCOMWin APICrystal ReportDeploymentGeneralGeneral 2
Related Topics
VB.NET / ASP.NETMS SQL ServerMS AccessOther Database ProductsMore Topics ...

VB Forum / Win API / December 2008



Tip: Looking for answers? Try searching our database.

user32.dll function fails without any error. I am afraid it kills my business.

Thread view: 
Enable EMail Alerts  Start New Thread
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