Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualEctara

Posted 13 December 2012 - 10:12 PM

I haven't ever used the function, but reading the APIs, PM_QS_INPUT has a value of 0x04070000, PM_QS_PAINT has a value of 0x00200000, PM_QS_SENDMESSAGE has a value of 0x00400000, and PM_QS_POSTMESSAGE has a value of 0x00980000.

The default is to process all messages, unless you specify with one of these flags, meaning the upper 16 bits is likely zero in this case. Since ~PM_QS_INPUT does not represent a mask that combines all of the other flags, it may invoke behavior undefined by their documentation. If you want to specify all other types of input but PM_QS_INPUT (which is what I think you are trying to do), you should specify a OR'ed mask of all of the others. I know it's possible that they might add a new constant, but they were very specific with what they will accept, so first make sure that you abide by these rules. If it still comes to a halt, then it is worth investigating.

Also, try to make sure that you are calling whatever function is necessary to update the queue before attempting to read from it. Many input systems will only poll and gather events when you call a function that makes it check its internal state for changes, so make sure that there isn't some function that you need to call first to populate the event queue before you start reading through it.

#1Ectara

Posted 13 December 2012 - 10:10 PM

I haven't ever used the function, but reading the APIs, PM_QS_INPUT has a value of 0x04070000, PM_QS_PAINT has a value of 0x00200000, PM_QS_SENDMESSAGE has a value of 0x00400000, and PM_QS_POSTMESSAGE has a value of 0x00980000.

The default is to process all messages, unless you specify with one of these flags, meaning the upper 16 bits is likely zero in this case. Since ~PM_QS_INPUT does not represent a mask that combines all of the other flags, it may invoke behavior undefined by their documentation. If you want to specify all other types of input but PM_QS_INPUT (which is what I think you are trying to do), you should specify a OR'ed mask of all of the others. I know it's possible that they might add a new constant, but they were very specific with what they will accept, so first make sure that you abide by these rules. If it still comes to a halt, then it is worth investigating.

PARTNERS