Ok, the first thing is understanding the problem. When you spoke about "activating" the macros I presume you meant either triggering or running them.
If your macro is triggered and starts running, I think it would be satisfactory to you if the macro determined that one of those programs was running and just exited. Right?
JM's solution was attempting to stop those programs from triggering at all. That's what you asked for. And that would be the best solution if it worked. My idea is to let them activate but to exit if one of those programs are running. Do you see the difference?
The first problem is that the KM action will "eat" the key if it triggers. But we can solve that later, I just want to know if this solution otherwise works before I solve the key-eating problem.
Also the correct way to do this is to include the full path of the name of the program, but you didn't indicate the full path of your apps, so I just put "ticktock" in this example. You will have to determine the correct path of the files you want to check for. To do that open a terminal window and enter the command "ps -ax" and then copy the correct strings from that output into your KM action.
If my method works, then we can modify it to make it more efficient. People may attack my method saying I'm running three tests instead of a single test, but that can be tweaked later. The main issue for the moment is does it work?
We could be making incorrect assumptions about your situation. It might help us if you showed us your actual trigger rather than just describing the trigger.
Let me reiterate that my solution absolutely is not the best way to solve this. My solution is inefficient and requires extra code and extra triggers. I am not offended if you refuse to implement my solution for these reasons. But if you are having trouble with JM's trigger solution, then this could be worth trying to see if it works.