Anda di halaman 1dari 9

//by K.R. http://jurnal-idei-sentimente-conceptii.blogspot.

com/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
using System.Timers;
using WinampFrontEndLib;

namespace ConsoleApplication1
{
class Program
{

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern IntPtr FindWindow(

[MarshalAs(UnmanagedType.LPTStr)] string lpClassName,

[MarshalAs(UnmanagedType.LPTStr)] string lpWindowName

);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

static extern int SendMessageA(

IntPtr hwnd,

int wMsg,

int wParam,

uint lParam

);

//The Window name for winamp

private const string m_windowName = "Winamp v1.x";

//type of code being sent


const int WM_COMMAND = 0x111;

const int WM_USER = 0x0400;

//List of command codes that we can retrieve from the winamp SDK
const int WA_NOTHING = 0;

const int WA_PREVTRACK = 40044;

const int WA_PLAY = 40045;


const int WA_PAUSE = 40046;

const int WA_STOP = 40047;

const int WA_NEXTTRACK = 40048;

const int WA_VOLUMEUP = 40058;

const int WA_VOLUMEDOWN = 40059;

const int WINAMP_FFWD5S = 40060;

const int WINAMP_REW5S = 40061;

//functions to get the required commands

public static void DisplaySong()


{
Console.WriteLine(WinampLib.GetCurrentSongTitle());
}

public static void ErrorMessage()


{
Console.WriteLine("There's no such command. Use 'help'.");

public static void Stop()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_STOP, WA_NOTHING);


}

public static void Forward()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WINAMP_FFWD5S, WA_NOTHING);


}

public static void Rewind()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WINAMP_REW5S, WA_NOTHING);


}

public static void Play()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_PLAY, WA_NOTHING);


}

public static void Pause()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_PAUSE, WA_NOTHING);


}

public static void PrevTrack()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_PREVTRACK, WA_NOTHING);


}

public static void NextTrack()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_NEXTTRACK, WA_NOTHING);


}

public static void VolumeUp()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_VOLUMEUP, WA_NOTHING);


}

public static void VolumeDown()


{
IntPtr hwnd = FindWindow(m_windowName, null);

SendMessageA(hwnd, WM_COMMAND, WA_VOLUMEDOWN, WA_NOTHING);


}

public static void Shutdown()


{
Process.Start("shutdown.exe", "-s -t 00");
// * "shutdown -s -t 0" - Shutdown
// * "shutdown -r -t 0" - Restart

}
public static void Restart()
{
Process.Start("shutdown.exe", "-r -t 00");
// * "shutdown -s -t 0" - Shutdown
// * "shutdown -r -t 0" - Restart

static void Main(string[] args)


{
System.Console.ForegroundColor = ConsoleColor.Green;

//Console.WriteLine("
****************************************************");
//Console.WriteLine("I can basically control a bit of your winamp and
shutdown \nor restart your computer. I'm simple, for now.");
//Console.WriteLine(" ****************************");
Console.WriteLine("Console Controller Version 0.1\n * Created by K.R.
*");
//Console.WriteLine(" ");
//Console.WriteLine("");
Console.WriteLine("Type 'help' for help!");
Console.WriteLine(" ");

string message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);

//This part lists all the files in the directory


/*Console.WriteLine("This program lists all the files in the
directory!");
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"C:\");

foreach (System.IO.FileInfo file in dir.GetFiles("*.*"))


{
Console.WriteLine("{0}, {1}", file.Name, file.Length);
}
Console.ReadLine();
*/
}

public static void Engine(string message)


{
if (message == "help")
{
Console.WriteLine("Commands: Description");
Console.WriteLine("winamp - open winamp");
Console.WriteLine("play - play track");
Console.WriteLine("stop - stop track");
Console.WriteLine("pause - pause track");
Console.WriteLine("next track - next track");
Console.WriteLine("prev track - previous track");
Console.WriteLine("forward - forward 10 seconds");
Console.WriteLine("rewind - rewind 10 seconds");
Console.WriteLine("volume up - turn the volume up with
15%");
Console.WriteLine("volume down - turn the volume down with
15%");
Console.WriteLine("song title - display the song's title");
Console.WriteLine("time - current time");
Console.WriteLine("shutdown - shutdown computer");
Console.WriteLine("restart - restart computer");
Console.WriteLine("shut - shutdown computer at a
specific given time");
Console.WriteLine("clear - clear screen");
Console.WriteLine("exit/Ctrl+C - exit this program");

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");
Engine(message);

}
else if (message == "winamp")
{
System.Diagnostics.Process.Start(@"C:\Program
Files\Winamp\winamp.exe");

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "play")
{
Play();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "forward")
{
Forward();
Forward();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "Rewind")
{
Rewind();
Rewind();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "stop")
{
Stop();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "pause")
{
Pause();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "shut")
{
System.Timers.Timer aTimer = new System.Timers.Timer();

// add an event handler


aTimer.Elapsed += new ElapsedEventHandler(shut);

Console.WriteLine("How many minutes until shutdown?");


string minutes = Console.ReadLine();
bool go = true;
for (int i = 0; i < minutes.Length; i++)
{
if (Char.IsNumber(minutes[i]) == false)
{
go = false;
break;
}
else go = true;
}

//if (int.Parse(minutes) == 0) go = false;

if (go == false)
{
Console.WriteLine("Please try again.");
message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else
{

int thetime = int.Parse(minutes);

// Set the Interval to 10 min = 600 seconds = 600000 milisec


aTimer.Interval = (thetime*60)*1000;
aTimer.Enabled = true;
Console.WriteLine("Done.");

GC.KeepAlive(aTimer);
message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
}
else if (message == "volumeup")
{
int i = 1;
while (i <= 10)
{
VolumeUp();
i++;
}

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "volumedown")
{
int i = 1;
while (i < 10)
{
VolumeDown();
i++;
}

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "nexttrack")
{
NextTrack();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "prevtrack")
{
PrevTrack();

message = Console.ReadLine();
message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "songtitle")
{
DisplaySong();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "clear")
{
Console.Clear();

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "time")
{
Console.WriteLine(DateTime.Now);

message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");

Engine(message);
}
else if (message == "exit")
{
Environment.Exit(0);
}
else if (message == "shutdown")
{
Shutdown();
}
else if (message == "restart")
{
Restart();
}
else if (message != "songtitle" && message != "previoustrack" &&
message != "nexttrack" && message != "volumedown" && message != "volumeup" &&
message != "pause" && message != "stop" && message != "play")
{

message = "";
ErrorMessage();
message = Console.ReadLine();

message = message.ToLower();
message = message.Replace(" ", "");
Engine(message);
}
Console.ReadLine();

public static void shut(object source, ElapsedEventArgs e)


{
Process.Start("shutdown.exe", "-r -t 00");
}

Anda mungkin juga menyukai