Okay, I have two extremely vague questions:
1) I was wondering how to make it so one program can detect another program.
2) I was wondering how to make it so one program can send a request for data to another program.
1. That would involve searching the process list for a process name that matches certain criterion. For example, Firefox's process under Windows is called "firefox.exe".
2. That will depend entirely on the program that accepts requests, and, most importantly whether it accepts them.
It's difficult to be done unless both programs are designed for that purpose. It would help a lot if you told us what exactly you are interested in doing.
It would help a lot if you told us what exactly you are interested in doing.
I am making a program and I want it to be able to detect new modules that are made or downloaded and be able to request info or send info to the modules.
Sounds like what you want is a plugin system. There are several ways to implement one, but the most straightforward one is using DLLs/shared objects to load code at run time.