1. If I had Accounts and Privileges setup in the launch file and a simple "Open File" script to open the shared file, would those privileges be passed thru to the shared file at the time of opening or would there be a second login process?
As long as the shared file has an account/password that exactly match the account/password used to open your launch file, you will not get a second request to enter a password. It will be automatically opened with the password used to open the first file.
Item 2: no, but you won't need to. See answer to item 1.
"3. Is there a way of scripting a process to check if a file is already open/shared and if not, then open it for sharing?"
That depends, if you want to get a list of all database files that have been opened by the current computer, DatabaseNames will return a list of all database files currently open. If you want to check to see what files are available from a host computer, I don't know.
If you want the user to be able to use the launch file to automatically open a shared file with a specific account/password without having the user actually enter them, define a matching account/password in your launcher file and use File Options to specify that the file will open itself with this password. (To open the file with a different password, hold down option (mac) or shift (windows) while opening the file.)
Note that placing launcher files with default passwords on your client computers represents a possible security risk.
Thanks for that, it's saved me wasting further hours trying to pass variables between my files and using DatabaseNames has given me an idea to tinker with.
I'm thinking of having an Account with a restricted privilege set in both files and the launch file will open the shared file with this Account, arriving on a layout where a login routine can be scripted to control further access.
Thanks very much