public Main() { InitializeComponent(); _syncContext = SynchronizationContext.Current; miningBtnStart = buttonStartMining.Text; miningBtnStop = "Stop Mining"; platform64bit = ArchitectureCheck.Is64Bit(); string platformString = platform64bit ? "64bit" : "32bit"; simplewalletPath = AppDomain.CurrentDomain.BaseDirectory + @"binaries\simplewallet\" + platformString + @"\simplewallet.exe"; cpuminerPath = AppDomain.CurrentDomain.BaseDirectory + @"binaries\cpuminer\" + platformString + @"\minerd.exe"; walletPath = AppDomain.CurrentDomain.BaseDirectory + @"wallet.address.txt"; if (!File.Exists(simplewalletPath)) { MessageBox.Show("Missing " + simplewalletPath); Process.GetCurrentProcess().Kill(); } if (!File.Exists(cpuminerPath)) { MessageBox.Show("Missing " + cpuminerPath); Process.GetCurrentProcess().Kill(); } if (!File.Exists(walletPath)) { MessageBox.Show("Generating new wallet with the password: x"); GenerateWallet(); } else { ReadWalletAddress(); } var coresAvailable = Environment.ProcessorCount; for (var i = 0; i < coresAvailable; i++) { string text = (i + 1).ToString(); if (i+1 == coresAvailable) text += " (max)"; comboBoxCores.Items.Add(text); } var coresConfig = INI.Value("cores"); int coresInt = comboBoxCores.Items.Count - 1; if (coresConfig != "") { int coresParsed; var parsed = int.TryParse(coresConfig, out coresParsed); if (parsed) coresInt = coresParsed - 1; if (coresInt+1 > coresAvailable) coresInt = coresAvailable - 1; } comboBoxCores.SelectedIndex = coresInt; var poolHost = INI.Value("pool_host"); if (poolHost != ""){ textBoxPoolHost.Text = poolHost; } var poolPort = INI.Value("pool_port"); if (poolPort != "") { textBoxPoolPort.Text = poolPort; } Application.ApplicationExit += (s, e) => killMiners(); }