Advertisement
Guest User

jarvis

a guest
Jan 7th, 2016
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.29 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Speech.Recognition;
  11. using System.Speech.Synthesis;
  12. using System.IO;
  13. using System.Xml;
  14. using System.Runtime.ConstrainedExecution;
  15. using System.Runtime.InteropServices;
  16. using Microsoft.Win32.SafeHandles;
  17. using System.Diagnostics;
  18. using System.Windows.Forms;
  19. using System.Web;
  20. using System.Drawing;
  21.  
  22.  
  23. namespace jarvis
  24. {
  25. public partial class Jarvis : Form
  26. {
  27.  
  28. SpeechRecognitionEngine recengine = new SpeechRecognitionEngine();
  29. System.Speech.Synthesis.SpeechSynthesizer synthesizer = new SpeechSynthesizer();
  30. Random random = new Random();
  31. string firefoxpath = "";
  32. string skypepath = "";
  33. string originpath = "";
  34.  
  35.  
  36. public Jarvis()
  37. {
  38. InitializeComponent();
  39. }
  40.  
  41. private void Jarvis_Load(object sender, EventArgs e)
  42. {
  43.  
  44. Choices commands = new Choices();
  45. Bitmap bg = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
  46. commands.Add(new string[] {"go away","open safe mail","come back","write commands","search","open origin", "disable","open youtube", "open notepad", "open command line", "show commands", "open skype", "open reddit", "speak selected text", "Hello", "Hi", "open firefox", "open facebook", "what time is it", "open hacker news", "exit", "open code","take screenshot"});
  47. GrammarBuilder gbuilder = new GrammarBuilder();
  48. gbuilder.Append(commands);
  49. Grammar grammar = new Grammar(gbuilder);
  50.  
  51. recengine.LoadGrammarAsync(grammar);
  52.  
  53. recengine.SetInputToDefaultAudioDevice();
  54. recengine.SpeechRecognized += Recengine_SpeechRecognized;
  55. }
  56.  
  57. public void Recengine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
  58. {
  59. Bitmap bg = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
  60.  
  61. string Speech = e.Result.Text;
  62.  
  63. switch (e.Result.Text)
  64. {
  65.  
  66. case "Hello":
  67. case "Hi":
  68. int randomi = random.Next(1, 3);
  69. if (randomi == 1)
  70. {
  71. synthesizer.SpeakAsync("hello my creator");
  72. richTextBox1.Text += "\nhello my creator";
  73. }
  74. else if (randomi == 2)
  75. {
  76. synthesizer.SpeakAsync("hello my creator, did you have a nice day");
  77. richTextBox1.Text += "\nhello my creator, did you have a nice day";
  78. }
  79. else
  80. {
  81.  
  82. synthesizer.SpeakAsync("hello my creator, how are you");
  83. richTextBox1.Text += "\nhello my creator, how are you";
  84. }
  85. break;
  86. case "open youtube":
  87. synthesizer.SpeakAsync("yes sir");
  88. richTextBox1.Text += "\nyes sir";
  89. System.Diagnostics.Process.Start("https://www.youtube.com");
  90. break;
  91.  
  92. case "open firefox":
  93. try
  94. {
  95. TextReader file = new StreamReader(@"F:\jarvispath\firefoxpath.txt");
  96. firefoxpath = file.ReadLine();
  97. synthesizer.SpeakAsync("yes sir");
  98. richTextBox1.Text += "\nyes sir";
  99. //MessageBox.Show(settings.firefox);
  100. System.Diagnostics.Process.Start(firefoxpath);
  101. break;
  102. }catch(InvalidOperationException inv)
  103. {
  104. synthesizer.SpeakAsync("error");
  105. richTextBox1.Text += "\nerror";
  106. break;
  107. }
  108. case "open skype":
  109. try {
  110.  
  111. TextReader skype = new StreamReader(@"F:\jarvispath\skypepath.txt");
  112. skypepath = skype.ReadLine();
  113. synthesizer.SpeakAsync("yes sir");
  114. richTextBox1.Text += "\nyes sir";
  115. System.Diagnostics.Process.Start(skypepath);
  116. break;
  117. }catch (InvalidOperationException skyperror)
  118. {
  119. synthesizer.SpeakAsync("error");
  120. richTextBox1.Text += "\nerror";
  121. break;
  122. }
  123. case "open origin":
  124. try
  125. {
  126. TextReader origin = new StreamReader(@"F:\jarvispath\originpath.txt");
  127. originpath = origin.ReadLine();
  128. synthesizer.SpeakAsync("yes sir");
  129. richTextBox1.Text += "\nyes sir";
  130. System.Diagnostics.Process.Start(originpath);
  131. break;
  132. }
  133. catch(InvalidOperationException originerror)
  134. {
  135. synthesizer.SpeakAsync("error");
  136. richTextBox1.Text += "\nerror";
  137. break;
  138. }
  139.  
  140. case "open facebook":
  141. synthesizer.SpeakAsync("yes sir");
  142. richTextBox1.Text += "\nyes sir";
  143. System.Diagnostics.Process.Start("https://www.facebook.com/");
  144. break;
  145. case "what time is it":
  146. DateTime now = System.DateTime.Now;
  147. string time = now.GetDateTimeFormats('t')[0];
  148. synthesizer.SpeakAsync(time);
  149. richTextBox1.Text += "\n";
  150. richTextBox1.Text += time;
  151. break;
  152. case "open hacker news":
  153. synthesizer.SpeakAsync("yes sir");
  154. richTextBox1.Text += "\nyes sir";
  155. System.Diagnostics.Process.Start("http://thehackernews.com/");
  156. break;
  157. case "exit":
  158. this.Close();
  159. break;
  160. case "speak selected text":
  161. synthesizer.SpeakAsync(richTextBox1.SelectedText);
  162. break;
  163. case "open code":
  164. synthesizer.SpeakAsync("you are going to make me better?");
  165. richTextBox1.Text += "\nyou are going to make me better?";
  166. System.Diagnostics.Process.Start(@"F:\jarvis\jarvis.sln");
  167. break;
  168. case "open reddit":
  169. synthesizer.SpeakAsync("yes sir");
  170. richTextBox1.Text += "\nyes sir";
  171. System.Diagnostics.Process.Start("https://www.reddit.com/r/security");
  172. break;
  173.  
  174.  
  175. case "show commands":
  176. System.Diagnostics.Process.Start(@"F:\choices.txt");
  177. break;
  178. case "open command line":
  179. synthesizer.SpeakAsync("yes sir");
  180. richTextBox1.Text += "\nyes sir";
  181. System.Diagnostics.Process.Start("cmd.exe");
  182. break;
  183. case "open notepad":
  184. synthesizer.SpeakAsync("yes sir");
  185. richTextBox1.Text += "\nyes sir";
  186. System.Diagnostics.Process.Start("notepad");
  187. break;
  188. case "go away":
  189. if(this.WindowState != FormWindowState.Minimized)
  190. {
  191. this.WindowState = FormWindowState.Minimized;
  192. }
  193. break;
  194. case "disable":
  195. recengine.RecognizeAsyncStop();
  196. button1.Enabled = true;
  197. button2.Enabled = false;
  198. synthesizer.SpeakAsync("yes sir");
  199. richTextBox1.Text += "\nyes sir";
  200. break;
  201. case "come back":
  202. if (this.WindowState == FormWindowState.Minimized)
  203. {
  204. this.WindowState = FormWindowState.Normal;
  205. }
  206. break;
  207. case "open safe mail":
  208. System.Diagnostics.Process.Start("https://orange.safe-mail.net/cgi-bin/Safe-mail.net/gate/N1O-568a7110-3f67b389");
  209. synthesizer.SpeakAsync("yes sir");
  210. richTextBox1.Text += "\nyes sir";
  211. break;
  212. case "take screenshot":
  213. Form.ActiveForm.Opacity = 0;
  214. Graphics gb = Graphics.FromImage(bg as Image);
  215. gb.CopyFromScreen(0, 0, 0, 0, bg.Size);
  216. pictureBox1.Image = bg;
  217. Form.ActiveForm.Opacity = 100;
  218. saveFileDialog2.ShowDialog();
  219. bg.Save(saveFileDialog2.FileName.ToString());
  220. synthesizer.SpeakAsync("yes sir");
  221. richTextBox1.Text += "\nyes sir";
  222. break;
  223. default:
  224.  
  225. if (Speech.ToLower().Contains("search for"))
  226. {
  227. var dictationGrammar = new DictationGrammar();
  228. recengine.LoadGrammarAsync(dictationGrammar);
  229. string url = "https://www.google.com.au/search?q=" + dictationGrammar;
  230. System.Diagnostics.Process.Start(url);
  231.  
  232. }
  233. break;
  234.  
  235. }
  236. }
  237.  
  238. private void screenshot()
  239. {
  240. throw new NotImplementedException();
  241. }
  242.  
  243. private void button1_Click(object sender, EventArgs e)
  244. {
  245. recengine.RecognizeAsync(RecognizeMode.Multiple);
  246. button2.Enabled = true;
  247. button1.Enabled = false;
  248. }
  249.  
  250. private void button2_Click(object sender, EventArgs e)
  251. {
  252. recengine.RecognizeAsyncStop();
  253. button2.Enabled = false;
  254. button1.Enabled = true;
  255. }
  256.  
  257. private void commandsToolStripMenuItem_Click(object sender, EventArgs e)
  258. {
  259. System.Diagnostics.Process.Start(@"F:\choices.txt");
  260. }
  261.  
  262. private void exitToolStripMenuItem_Click(object sender, EventArgs e)
  263. {
  264. this.Close();
  265. }
  266.  
  267. private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
  268. {
  269. settings Settings = new settings();
  270. Settings.ShowDialog();
  271. }
  272.  
  273. private void button3_Click(object sender, EventArgs e)
  274. {
  275. saveFileDialog1.ShowDialog();
  276.  
  277. }
  278.  
  279. private void button3_Click_1(object sender, EventArgs e)
  280. {
  281.  
  282.  
  283.  
  284. }
  285. }
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement