The PostMessage function places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message (which is opposite to SendMessage, which forces the thread to wait until the target window processes the message). DO NOT think of it as simple wrapper around Win32 function! The code itself simply wraps the original Win32 function but 3rd and 4th parameter of PostMessage have to be interpreted differently, depending on the message. Sometimes they are treated as longs, sometimes as pointers. Current implementation of Win32::GuiTest::PostMessage is not that smart so it is actually of a very limited use. It would be good to implement some smarter version of PostMessage