---------------------------------------------------------------------------------------------------- EXTERNAL FILES ---------------------------------------------------------------------------------------------------- Load and execute js from a file: eval(File.ReadAllText("C:\\Users\\robya\\Desktop\\test.js")); Open text file and append a line to it: var f = File.AppendText("C:\\Users\\robya\\Desktop\\test.js"); f.WriteLine("Test"); f.Close(); Backup your existing StrokesPlus settings file: var source = core.System.IO.Path.Combine(core.System.Environment.GetFolderPath(core.System.Environment.SpecialFolder.ApplicationData), "StrokesPlus.net", "StrokesPlus.net.bin"); var dest = core.System.IO.Path.Combine(core.System.Environment.GetFolderPath(core.System.Environment.SpecialFolder.ApplicationData), "StrokesPlus.net", "Backup"); if (!core.System.IO.Directory.Exists(dest)) core.System.IO.Directory.CreateDirectory(dest); dest = core.System.IO.Path.Combine(dest,"StrokesPlus.net_" + DateTime.Now.ToString("yyyy-MM-dd_HHmmss") + ".bin"); File.Copy(source, dest, true); //Optional: Delete backup files more than 3 months old //Note that if you exit frequently and have a large number of files in the backup folder, this loop could take several seconds to complete var files = core.System.IO.Directory.GetFiles(destdir); for (i=0;i 0) { //mouse wheel scrolled up sp.SendKeys("^{TAB}"); } else { //mouse wheel scrolled down sp.SendKeys("^+{TAB}"); } } else if(wheel.X >= (parseInt(wheel.Window.Rectangle.Right) - 25)) { //is the mouse along the right side of the window? if(wheel.Delta > 0) { //scroll up, send CTRL+Home to go to the top of the page sp.SendKeys("^{HOME}"); } else { //scroll up, send CTRL+End to go to the end of the page sp.SendKeys("^{END}"); } } else if(wheel.Window.Process.MainModule.ModuleName == "chrome.exe" && wheel.X <= (parseInt(wheel.Window.Rectangle.Left) + 20)) { if(wheel.Delta > 0){ //scroll up, send CTRL+Home to go to the top of the page sp.SendKeys("{F5}"); } else { //scroll up, send CTRL+End to go to the end of the page sp.SendVKey(vk.BROWSER_BACK); } } else { //Default, pass mouse wheel message onto the original control sp.MouseWheel(wheel.Point, false, wheel.Delta); } } else { //Default, pass mouse wheel message onto the original control sp.MouseWheel(wheel.Point, false, wheel.Delta); } ---------------------------------------------------------------------------------------------------- CONFIGURATION ---------------------------------------------------------------------------------------------------- Loop through all applications defined in S+, show the message box for the app, then for each action: for(i=0;i