I am a big fan of Moneydance personal finance software. It is one of the few full-featured financial packages that runs seamlessly on Windows, Linux, and Mac. I also appreciate their generous licensing, which allows you to install the software on unlimited PCs that you own, and even explicitly allows family members in your household rights to use the software, too. Made in America (in my home state no less!) by a core team of dedicated programmers, so you can't beat that!
A common usage scenario is to store your data file on a network share so that it can be accessed by multiple PCs and/or multiple users. However, unfortunately Moneydance does not implement any sort of locking scheme, so vigilance must be taken not to inadvertently open the same file concurrently. In my house, this resulted in constant yelling back in forth "Hey, are you in Moneydance???" Obviously there had to be a better way. I came up with this simple workaround, and hoped someone else might find it beneficial too.
My solution is to use a batch file to create a locking file before starting Moneydance, then to clean up the file when Moneydance is closed. The brilliance is in its simplicity, and it even lets you know which PC currently has the file locked. Simply create a batch file using the following template, of course changing the filenames to accommodate your filenames and paths. Note that you will need to have the Moneydance file extension registered in Windows for this to work. Then just replace your normal Moneydance shortcut with a shortcut to the batch file, and you're all set!
ECHO This window will automatically close when you exit Moneydance
IF EXIST \\share\folder\~somefilename.lck (GOTO InUse) ELSE (GOTO OK)
ECHO Moneydance already in use by the following PC:
Right-click, Save As, to download the sample file (rename to remove the .txt extension)
On the outside chance the lock file does not get deleted for some reason, but nobody is in Moneydance, simply delete the ~somefilename.lck file. Hopefully one day Monedance will implement locking within the software itself, but for now, this simple hack seems to do the trick.