コード例 #1
0
ファイル: AppHost.cs プロジェクト: subratb/GEDKeeper
        void ISingleInstanceEnforcer.OnMessageReceived(MessageEventArgs e)
        {
            OnMessageReceivedInvoker invoker = delegate(MessageEventArgs eventArgs) {
                try {
                    string msg = eventArgs.Message as string;

                    if (!string.IsNullOrEmpty(msg) && msg == "restore")
                    {
                        Restore();
                    }
                    else
                    {
                        string[] args = eventArgs.Message as string[];
                        if (args != null)
                        {
                            // A obligatory recovery of window, otherwise it will fail to load
                            Restore();
                            SetArgs(args);
                            LoadArgs();
                        }
                    }
                } catch (Exception ex) {
                    Logger.LogWrite("AppHost.OnMessageReceived(): " + ex.Message);
                }
            };

            //if (InvokeRequired) {
            //    Invoke(invoker, e);
            //} else {
            invoker(e);
            //}
        }
コード例 #2
0
        public void OnMessageReceived(MessageEventArgs e)
        {
            OnMessageReceivedInvoker invoker = delegate(MessageEventArgs eventArgs)
            {
                string[] args = eventArgs.Message as string[];
                BringApplicationToFront();
                ParseArgs(args);
            };

            if (InvokeRequired)
            {
                Invoke(invoker, e);
            }
            else
            {
                invoker(e);
            }
        }