So far I have been able to change certain aspects from the console, but not hide it, so that it does not appear. I mean I have a program in console mode, but I do not want to visualize the cmd anymore, how could I make it so that the console CMD does not appear in my main program?
public class Program
{
static Pool _pool = null;
static Work _work = null;
static uint _nonce = 0;
static long _maxAgeTicks = 20000 * TimeSpan.TicksPerMillisecond;
static uint _batchSize = 100000;
public static void Main(string[] args)
{
while (true)
{
try
{
_pool = SelectPool();
_work = GetWork();
while (true)
{
if (_work == null || _work.Age > _maxAgeTicks)
_work = GetWork();
if (_work.FindShare(ref _nonce, _batchSize))
{
SendShare(_work.Current);
_work = null;
}
else
PrintCurrentState();
}
}
catch (Exception e)
{
Console.WriteLine();
Console.Write("ERROR: ");
Console.WriteLine(e.Message);
}
Console.WriteLine();
Console.Write("Hit 'Enter' to try again...");
Console.ReadLine();
System.Threading.Thread.Sleep(5000);
}
}
private static void ClearConsole()
{
Console.Clear();
Console.WriteLine("*****************************");
Console.WriteLine("*** Minimal Bitcoin Miner ***");
Console.WriteLine("*****************************");
Console.WriteLine();
}
private static Pool SelectPool()
{
ClearConsole();
Print("Chose a Mining Pool 'user:password@url:port' or leave empty to skip.");
//Console.Write("Select Pool: ");
string login = "";
//string login = ReadLineDefault("lithander_2:[email protected]:8332");
return new Pool(login);
}
private static Work GetWork()
{
ClearConsole();
Print("Requesting Work from Pool...");
Print("Server URL: " + _pool.Url.ToString());
Print("User: " + _pool.User);
Print("Password: " + _pool.Password);
return _pool.GetWork();
}
private static void SendShare(byte[] share)
{
ClearConsole();
Print("*** Found Valid Share ***");
Print("Share: " + Utils.ToString(_work.Current));
Print("Nonce: " + Utils.ToString(_nonce));
Print("Hash: " + Utils.ToString(_work.Hash));
Print("Sending Share to Pool...");
if (_pool.SendShare(share))
Print("Server accepted the Share!");
else
Print("Server declined the Share!");
Console.Write("Hit 'Enter' to continue...");
Console.ReadLine();
}
private static DateTime _lastPrint = DateTime.Now;
private static void PrintCurrentState()
{
ClearConsole();
Print("Data: " + Utils.ToString(_work.Data));
string current = Utils.ToString(_nonce);
string max = Utils.ToString(uint.MaxValue);
double progress = ((double)_nonce / uint.MaxValue) * 100;
Print("Nonce: " + current + "/" + max + " " + progress.ToString("F2") + "%");
Print("Hash: " + Utils.ToString(_work.Hash));
TimeSpan span = DateTime.Now - _lastPrint;
Print("Speed: " + (int)(((_batchSize) / 1000) / span.TotalSeconds) + "Kh/s");
_lastPrint = DateTime.Now;
}
private static void Print(string msg)
{
Console.WriteLine(msg);
Console.WriteLine();
}
private static string ReadLineDefault(string defaultValue)
{
//Allow Console.ReadLine with a default value
string userInput = Console.ReadLine();
Console.WriteLine();
if (userInput == "")
return defaultValue;
else
return userInput;
}
}
The error with the suggested vbs method:
Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: ConsoleApplication1.exe Problem Signature 02: 1.0.0.0 Problem Signature 03: 5824bc4b Problem Signature 04: ConsoleApplication1
Problem Signature 05: 1.0.0.0 Problem Signature 06: 5824bc4b
Problem Signature 07: 1 Problem Signature 08: 1 Problem Signature 09: System.MissingMethodException OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1043 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789Read our privacy statement online:
linkIf the online privacy statement is not available, please read our privacy statement offline: C: \ Windows \ system32 \ en-US \ erofflps.txt