Now if you can guarantee that at least one machine (not necessarily the same machine) is always on, the issue becomes trivial. You could certainly look into some Windows NT Server API calls to do interrupts (fire an event) in your software, but a simple solution is just to create a shared folder in some common location on every machine that's interested in these variables (say C:\SharedVariables). And then, everytime someone changes the values, write to all the C:\SharedVariable folders that are visible, with a datestamp in the "shared.txt" (or whatever) file in those folders.

Everytime you want to read the variable values, read all the visible c:\SharedVariables\shared.txt files you can find, accepting the one with the latest date stamp. If you want to "hold" the variables for a while so that you can possibly change them and re-write them, institute some kind of locking like I discussed in post #10. You'd have to also have error trapping in your code to tell the use when the variables were locked by another user.

To me, this is all relatively straightforward. However, again, it won't work if there's ever a chance that every single machine on the LAN can be turned off. If that happens, the next machine to turn on will simply read it's own version of the c:\SharedVariables\shared.txt variables, which may or may not be the lastest ones. Don't over-think it. It's an obvious and easy question with an obvious and easy answer.