Jump to content

Passing more than two 32-bit ints via WM_APP (WM_USER)


Recommended Posts

I'm looking for the most efficient way to pass three 32-bit integer values between two compiled and running scripts.

Anything involving disk access or registry changes would be my last resort. An environment varaible is a possibility, but not a thrilling one. ControlSend() may be another option, but one of the scripts won't have a GUI and I doubt this method is particularily efficient either.

I've been looking at creating a user-defined message (WM_USER) using _WinAPI_RegisterWindowMessage(), but I don't know if there's a way to get past the limit of only passing two 32-bit integers via the wParam and iParam parameters?

Is there a way to sneak a little more data into a windows message call?

Can one pass an address or handle to some data created in script A to script B, and once script B receives the address it can attach to it and reference the data?

Edited by Spiff59
Link to comment
Share on other sites

  • Moderators

http://msdn.microsoft.com/en-us/library/ms692727%28VS.85%29.aspx

Use this function to allocate space 3 ints long (12 bytes) and pass the pointer as one of your params.

Ha!, I like that idea.

I might consider ( for simplicity ) using WM_COPYDATA though. Pass as a string and convert on either side.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...