public static void ProcessGlobalMessage(int nId, MainForm mf) { if (mf == null) { throw new ArgumentNullException("mf"); } IpcParamEx ipcMsg = LoadIpcInfoFile(nId); if (ipcMsg == null) { return; } if (ipcMsg.Message == CmdOpenDatabase) { mf.EnsureVisibleForegroundWindow(); string[] vArgs = CommandLineArgs.SafeDeserialize(ipcMsg.Param0); if (vArgs == null) { Debug.Assert(false); return; } CommandLineArgs args = new CommandLineArgs(vArgs); Program.CommandLineArgs.CopyFrom(args); mf.OpenDatabase(IOConnectionInfo.FromPath(args.FileName), KeyUtil.KeyFromCommandLine(args), true); } else { Debug.Assert(false); } }
public static void ProcessGlobalMessage(int nId, MainForm mf) { if (mf == null) { throw new ArgumentNullException("mf"); } IpcParamEx ipcMsg = LoadIpcInfoFile(nId); if (ipcMsg == null) { return; } if (ipcMsg.Message == CmdOpenDatabase) { mf.UIBlockAutoUnlock(true); mf.EnsureVisibleForegroundWindow(true, true); mf.UIBlockAutoUnlock(false); // Don't try to open another database while a dialog // is displayed (3489098) if (GlobalWindowManager.WindowCount > 0) { return; } string[] vArgs = CommandLineArgs.SafeDeserialize(ipcMsg.Param0); if (vArgs == null) { Debug.Assert(false); return; } CommandLineArgs args = new CommandLineArgs(vArgs); Program.CommandLineArgs.CopyFrom(args); mf.OpenDatabase(mf.IocFromCommandLine(), KeyUtil.KeyFromCommandLine( Program.CommandLineArgs), true); } else if (ipcMsg.Message == CmdOpenEntryUrl) { OpenEntryUrl(ipcMsg, mf); } else { Debug.Assert(false); } }
public static void ProcessGlobalMessage(int nId, MainForm mf, bool bOneInstance) { if (mf == null) { throw new ArgumentNullException("mf"); } IpcParamEx ipcMsg = LoadIpcInfoFile(nId, bOneInstance); if (ipcMsg == null) { return; } if (ipcMsg.Message == CmdOpenDatabase) { mf.UIBlockAutoUnlock(true); mf.EnsureVisibleForegroundWindow(true, true); mf.UIBlockAutoUnlock(false); string[] vArgs = CommandLineArgs.SafeDeserialize(ipcMsg.Param0); if (vArgs == null) { Debug.Assert(false); return; } CommandLineArgs args = new CommandLineArgs(vArgs); Program.CommandLineArgs.CopyFrom(args); mf.OpenDatabase(mf.IocFromCommandLine(), KeyUtil.KeyFromCommandLine( Program.CommandLineArgs), true); } else if (ipcMsg.Message == CmdOpenEntryUrl) { OpenEntryUrl(ipcMsg, mf); } else if (ipcMsg.Message == CmdIpcEvent) { try { if (IpcUtilEx.IpcEvent == null) { return; } string strName = ipcMsg.Param0; if (string.IsNullOrEmpty(strName)) { Debug.Assert(false); return; } string[] vArgs = CommandLineArgs.SafeDeserialize(ipcMsg.Param1); if (vArgs == null) { Debug.Assert(false); return; } CommandLineArgs clArgs = new CommandLineArgs(vArgs); IpcEventArgs e = new IpcEventArgs(strName, clArgs); IpcUtilEx.IpcEvent(null, e); } catch (Exception) { Debug.Assert(false); } } else { Debug.Assert(false); } }