SHOW:
|
|
- or go back to the newest paste.
1 | //\\//\\//\\//\\//\\//\\//\\//\\//\\// | |
2 | // Program.cs 02-Sep-2017 | |
3 | // 21-Feb-2018 MyEditor.Smesa | |
4 | //\\//\\//\\//\\//\\//\\//\\//\\//\\// | |
5 | // SMESAV Solution Started v1.0.1.00 | |
6 | // v1.0.1.02 02-Sep-2017 | |
7 | // v1.0.1.11 18-Oct-2017 | |
8 | // v1.1.2.26 12-Nov-2017 Solid Rocket | |
9 | // v2.2.5.26 28-Dec-2017 Multi-Tabs | |
10 | // v2.3.8.29 26-Jan-2018 Pass in Parms | |
11 | // v2.5.9.30 04-Feb-2018 Release Tests | |
12 | // v2.5.9.31 10-Feb-2018 Simplified. | |
13 | // v2.6.0.32 15-Feb-2018 1351 Stocker | |
14 | // v2.6.1.33 21-Feb-2018 1620 Mutexed | |
15 | // v3.0.0.01 25-feb-2018 As WPF App. | |
16 | // Experimental to pass args to an | |
17 | // active 1st instance Smesa from a | |
18 | // 2nd Instance Last Chance v3.0 | |
19 | // v3.0.0.37 28-Feb-2018 Hybrid. | |
20 | // Working Model with hybrid strategy | |
21 | // v3.1.1.38jamorama 07-Mar-2018 2332 | |
22 | //\\//\\//\\//\\//\\//\\//\\//\\//\\// | |
23 | ||
24 | using System; | |
25 | using System.IO; | |
26 | using System.Linq; | |
27 | using System.Threading; | |
28 | using System.Diagnostics; | |
29 | using System.Windows.Forms; | |
30 | ||
31 | using SMS = MyEditor.Properties.Settings; | |
32 | using SMR = MyEditor.Properties.Resources; | |
33 | ||
34 | namespace MyEditor | |
35 | { | |
36 | static class Program | |
37 | { | |
38 | private static bool _1St; | |
39 | public static Mutex MyMutex = | |
40 | new Mutex(false, "Smesa", out _1St); | |
41 | ||
42 | private static bool ProcessCheck() | |
43 | { | |
44 | var processes = | |
45 | Process.GetProcessesByName( | |
46 | Process.GetCurrentProcess() | |
47 | .ProcessName).ToList(); | |
48 | if (processes.Count > 1 | |
49 | && SMS.Default.Testing) | |
50 | // testcode has not been seen so | |
51 | // far; as OpenWith isn't an Option. | |
52 | MessageBox.Show(SMR.ProcChck); | |
53 | return processes.Count < 2; | |
54 | } | |
55 | ||
56 | /// <summary> v3.1.1.38 | |
57 | /// 04-Mar-2018 1715 MmfIpc Mods | |
58 | /// CopyRight (c) 2018 Jp Edwards | |
59 | /// </summary> | |
60 | [STAThread] | |
61 | static void Main() | |
62 | { | |
63 | if (_1St) | |
64 | { | |
65 | if (!ProcessCheck()) return; | |
66 | Application.EnableVisualStyles(); | |
67 | Application | |
68 | .SetCompatibleTextRenderingDefault | |
69 | (false); | |
70 | Application.Run( | |
71 | new Smesa(Args(), Mmfn())); | |
72 | MyMutex.Dispose(); | |
73 | } | |
74 | else Main2(); | |
75 | // For ALL Secondary Instances. | |
76 | } | |
77 | ||
78 | private static void Main2() | |
79 | { | |
80 | Application.Run( | |
81 | new Smesa(Mmfn(), Args())); | |
82 | } | |
83 | ||
84 | private static string Mmfn() | |
85 | { | |
86 | var root = SMS.Default.AppRoot = | |
87 | Directory.GetCurrentDirectory(); | |
88 | SMS.Default.Save(); | |
89 | return root + "\\mmf.sme"; | |
90 | } | |
91 | ||
92 | private static string[] Args() | |
93 | { | |
94 | return | |
95 | Environment.GetCommandLineArgs(); | |
96 | } | |
97 | ||
98 | ||
99 | } | |
100 | } |