diff --git a/C#/TypeRacer cheat/TypeRacer cheat.sln b/C#/TypeRacer cheat/TypeRacer cheat.sln new file mode 100644 index 0000000..af8baf1 --- /dev/null +++ b/C#/TypeRacer cheat/TypeRacer cheat.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2016 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TypeRacer cheat", "TypeRacer cheat\TypeRacer cheat.csproj", "{18E50935-4A71-4A7E-AC90-5A029F1E0B66}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {18E50935-4A71-4A7E-AC90-5A029F1E0B66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {18E50935-4A71-4A7E-AC90-5A029F1E0B66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {18E50935-4A71-4A7E-AC90-5A029F1E0B66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {18E50935-4A71-4A7E-AC90-5A029F1E0B66}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2A95FB01-162E-4692-9403-EAC0DFE9F31D} + EndGlobalSection +EndGlobal diff --git a/C#/TypeRacer cheat/TypeRacer cheat/App.config b/C#/TypeRacer cheat/TypeRacer cheat/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/C#/TypeRacer cheat/TypeRacer cheat/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/C#/TypeRacer cheat/TypeRacer cheat/IronOcr.dll b/C#/TypeRacer cheat/TypeRacer cheat/IronOcr.dll new file mode 100644 index 0000000..88f504e Binary files /dev/null and b/C#/TypeRacer cheat/TypeRacer cheat/IronOcr.dll differ diff --git a/C#/TypeRacer cheat/TypeRacer cheat/Program.cs b/C#/TypeRacer cheat/TypeRacer cheat/Program.cs new file mode 100644 index 0000000..f0067cf --- /dev/null +++ b/C#/TypeRacer cheat/TypeRacer cheat/Program.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Input; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using IronOcr; +using IronOcr.Languages; + +namespace TypeRacer_cheat { + class Program { + static void Main(string[] args) { + /* AdvancedOcr ocr = new AdvancedOcr() { + CleanBackgroundNoise = true, + EnhanceContrast = true, + EnhanceResolution = true, + Language = IronOcr.Languages.English.OcrLanguagePack, + Strategy = IronOcr.AdvancedOcr.OcrStrategy.Advanced, + ColorSpace = AdvancedOcr.OcrColorSpace.Color, + DetectWhiteTextOnDarkBackgrounds = true, + InputImageType = AdvancedOcr.InputTypes.AutoDetect, + RotateAndStraighten = true, + ReadBarCodes = true, + ColorDepth = 4 + }; */ + + AutoOcr ocr = new AutoOcr(); + + string testImage = @"C:/Users/Ben/Desktop/Programming/Examples/C#/TypeRacer cheat/TypeRacer cheat/bin/Debug/Hey.png"; + + Image image = Image.FromFile(testImage); + + Console.WriteLine("Reading image..."); + var Results = ocr.Read(image); + Console.WriteLine("OCR OUTPUT: {0}", Results.Text); + Console.ReadKey(); + } + + static void run() { + Process[] procs = Process.GetProcessesByName("chrome"); + + foreach (Process process in procs) { + Console.WriteLine(process); + } + + if (procs.Length > 0) { + Console.WriteLine("Bringing chrome forward"); + var handle = procs[0].MainWindowHandle; + Console.WriteLine(SetForegroundWindow(handle)); + Console.WriteLine(BringWindowToTop(handle)); + Console.WriteLine(ShowWindow(handle, 9)); + + Console.WriteLine("Capturing screen"); + Capture.CaptureScreen(); + } else { + Console.WriteLine("Could not find chrome..."); + } + Console.ReadKey(); + } + + [DllImport("User32.dll")] + private static extern bool BringWindowToTop(IntPtr hWnd); + [DllImport("User32.dll")] + private static extern bool ShowWindow(IntPtr handle, int nCmdShow); + [DllImport("user32.dll")] + private static extern bool SetForegroundWindow(IntPtr hWnd); + } + + class KeyPress { + public KeyPress(char key) { + + } + } + + class Capture { + public static Image CaptureScreen() { + Rectangle screenSize = Screen.PrimaryScreen.Bounds; + Bitmap target = new Bitmap(screenSize.Width, screenSize.Height); + using (Graphics g = Graphics.FromImage(target)) { + g.CopyFromScreen(0, 0, 0, 0, new Size(screenSize.Width, screenSize.Height)); + } + target.Save("screenshot.png"); + return target; + } + } +} diff --git a/C#/TypeRacer cheat/TypeRacer cheat/Properties/AssemblyInfo.cs b/C#/TypeRacer cheat/TypeRacer cheat/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..468b222 --- /dev/null +++ b/C#/TypeRacer cheat/TypeRacer cheat/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("TypeRacer cheat")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("TypeRacer cheat")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("18e50935-4a71-4a7e-ac90-5a029f1e0b66")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/C#/TypeRacer cheat/TypeRacer cheat/TypeRacer cheat.csproj b/C#/TypeRacer cheat/TypeRacer cheat/TypeRacer cheat.csproj new file mode 100644 index 0000000..fa11fa5 --- /dev/null +++ b/C#/TypeRacer cheat/TypeRacer cheat/TypeRacer cheat.csproj @@ -0,0 +1,59 @@ + + + + + Debug + AnyCPU + {18E50935-4A71-4A7E-AC90-5A029F1E0B66} + Exe + TypeRacer_cheat + TypeRacer cheat + v4.6.1 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + .\IronOcr.dll + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file