I am trying to send and receive messages between a ruby program and
another program.  The end goal is to be able to send a message to the
other program to request data and the other program returns a message
saying where the data file is using Atom tables. Could anyone point me
in the right direction?  I have been trying to use ruby dl but I never
seem to set it up right with anyting more complicated than the sleep
function.  I always get this error "unexpected type 'W'" or one
similar to it.  Here is what I have been trying so far with no luck.


require 'dl/import'
require 'dl/struct'
require 'dl/types'

module Win32
  extend DL::Importable
  dlload 'user32.dll'

  typealias "WPARAM", "UINT"
  typealias "LPARAM", "UINT"

  POINT = struct [
   "ULONG x",
   "ULONG y"
  ]


  MSG = struct [
    "HWND hwnd",
    "UINT message",
    "WPARAM wParam",
    "LPARAM lParam",
    "DWORD time",
    "POINT pt"
  ]

  typealias "LPMSG","MSG*"
  extern 'BOOL PeekMessage(LPMSG,HWND,UINT,UINT,UINT)'
  extern 'UINT SendMessage(HWND,UINT,WPARAM,LPARAM)'

  
end
line = gets