Use the PostData Parameter.
It's simple AND elegant
From THE MSDN
Code:
      Sub Command1_Click()
         Dim URL As String
         Dim Flags As Long
         Dim TargetFrame As String
         Dim PostData() As Byte
         Dim Headers As String

         URL = "http://YourServer" ' A URL that will accept a POST
         Flags = 0
         TargetFrame = ""

         PostData = "Information sent to host"

         ' VB creates a Unicode string by default so we need to
         ' convert it back to Single byte character set.
         PostData = StrConv(PostData, vbFromUnicode)

         Headers = ""

         WebBrowser1.Navigate URL, Flags, TargetFrame, PostData, Headers
      End Sub
Hope this helps