ButtonDemoNET minimized app is loosing callback hook.

ButtonDemoNET minimized app is loosing callback hook.

Demo application (ButtonDemoNET) that is included with SDK has a small bug (or feature?).
When it is active on the screen with RFID callback is registered and user presses the RFID button on the device then the ButtonDemoNET shows the tag scanned. Everything is fine.
But if user minimizes the ButtonDemoNET app and then presses the RFID button n C5 and reads the tag then standard IntelHealthcareToolTray dialog appears instead. It is as if the demo app lost the callback hook.

Our own application works pretty much as ButtonDemoNET but we need to make sure that even minimized it will still intercept the RFID button actions.

Could you please provide info on that?

14 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi plitvak

Just to clarify, which is your test configuration:

1. Development PC with the Intel MCA SDK installed
2. Motion C5 with Intel MCA core driver


I've both and tested it on both.
Is there any way to control this behavior with IntelHealthcare.cfg or programmatically?
It seems odd to me that minimizing the app that has a callback hook would disable that hook.

Thanks. I have been able to duplicate what your seeing. Let me investigate this and I'llget back with you shortly.

This is expected behavior. The algorithm is as follows.

- When the button is pressed, check if the application in focus has registered a button action.

- If it has then do the registered action.

- If it has not then do the default action.

The reason it works this way is to allow two apps to both register for barcode/rfid/camera buttons without any conflict. When multiple apps have registered for the same button then the one that is in focus is the one which will get the data.

You could program to the RFID API rather than the button API which would allow your application to control the RFID device completely. Still, if someone pressed the RFID button the default action would try to reserve the RFID device. If your application already had the device reserved then the default action would fail to reserve it.

If you really want to you could remove the RFID default handler setting in the MCA config file. This would result in no default action for the RFID button ever (or at least until the configuration is changed back.). Im not sure I would recommend this because we really have not thought through the consequences, but it is possible.


Is there a way to set my application as a default action handler then?

Hi plitvak,

I wanted to give you an update on this. We plan to release the next version of the MCA SDK at the end of July with some added features that may help you out. The new version of the SDK will allow to change/customize the default behavior of the MCA software, including calling a 3rd party application as part of the default action. This will take some development on your side, but I believe you will be able to accomplish what you are trying to do. We'll post more details on how this works when we release the new software. So stay tuned and watch for the release announcement.



Hello Steve,

I want to underline, that I am also one person which want to receive barcode data triggered by the bar code trigger without having the focus.

My application is as follows:
- the main application which have the focus is screen of a remote machine displayed with windows remote desktop (WTS).
- The bar code helper application preparses the bar code data. Thus it does not have the focus (runs minimised) and
sends eventually data to the main application using keyboard emulation (similar to the default action).

IMHO this is not possible at the moment. So I am awaiting foir the possibility to use a custom default action on bar code receive. The best would be to only get the data (best by virtual com but this is to much asked).


Hi Harald,

Yes, you will be able to customize the default actions with the new MCA software. It will be available next week so check back soon.


Is there a C# .NET APIs for DHDK? So far SDK includes only C/C++.

Also would you comment on how to redestribute custom default handlers.
I couldn't find anything about this in the documentation.

The Default Handler Developer Kit allows any executable to be used as a default handler. So you are free to create your own executable in .NET. If you do that then they dont have the benefit of DHDK library that is provided which is only for C++, but you can still do anything you like via the MCA .NET API.


Hi Steve,

Thanks you!

Last question I hope :)
So the SDK obviously (as it stands in the doc) is for the dev PC to be installed.
Now, if I have an old Motion C5/F5 Tablet (or basicaly any tablet with MCA) is there an installer of a new version of MCA that corresponds with 2.0 SDK abilities and which I would install on that Tablet?



Not all pieces of the MCA SDK v2.0 will run on the older v1.x MCA platform driver as you may have discovered.Motion will release an MCAv2.0 platform driver and that will solve the problem for you. They have a separate validation process they run the MCA platform driver software through as part of their package release. I do not have a schedule for their release, but it typically tends to be 30-60 days after the SDK is released. You can check their web site from time to time for updates.


John C

Leave a Comment

Please sign in to add a comment. Not a member? Join today