// Start Notepad ExecuteAndWaitForWindow("notepad.exe") // Remember the id of Notepad GetActiveWindowIdentifier("notepad_id") // Make sure that all input goes to Notepad EnsureWindowWithIdentifier("%notepad_id%") // Make sure that Notepad stays in the foreground and that it is centered ChangeWindow("SET_STAYONTOP|SET_SIZE|SET_CENTER", "", 600, 380) // Put all text into variables SetVariable("l1", "Don't be startled...[ENTER:2]") SetVariable("l2", "This is a Demo of MacroMachine...[ENTER:2]") SetVariable("l3", "This Demo gives you an impression of what is possible with the Macro Technology of MacroMachine.") SetVariable("l4", "[LEFT:42]") SetVariable("l5", "[ENTER][END][ENTER:2]") SetVariable("l6", "YOU CAN STOP THIS DEMO, AT ANY TIME, BY PRESSING THE ESCAPE KEY...") SetVariable("l7", "[LEFT:29]") SetVariable("l8", "[ENTER][END][ENTER:2]") SetVariable("l9", "---------------------------------------------[ENTER:2]") SetVariable("l10", "Everything you see, is really happening; it is not a movie-clip.[ENTER]The text that you see appearing is really being entered.[ENTER]This is being done by a Macro.[ENTER:2]") SetVariable("l11", "This Macro has been made by us, but you can create [ENTER]your own Macros quite easily.[ENTER:2]") SetVariable("l12", "You can just simply record one, so you can play it[ENTER]back later-on. But you can also create quite complex[ENTER](powerful) Macros by using the special programming language[ENTER]and the Tronan Macro Editor.[ENTER:2]") SetVariable("l13", "[SHIFT][UP:26][BACK]") SetVariable("l14", "You can, for instance, start the calculator[ENTER]automatically and do some calculations...[ENTER:2]") SetVariable("l15", "Lets see, if the calculator is located in the[ENTER]'start-menu'...[ENTER:2]") SetVariable("l16", "[UP:8][DOWN:7][UP:7]") SetVariable("l17", "No, I don't see it there.[ENTER]Wait... we start it another way...[ENTER:2]") SetVariable("l18", "Ok, the calculator has been started...[ENTER]Now, we do a calculation...[ENTER]Lets determine the result of 5x4...[ENTER:2]") SetVariable("l19", "5*4[ENTER]") SetVariable("l20", "Ok, so the result is 20[ENTER:2]") SetVariable("l21", "Next example...[ENTER:2]") SetVariable("l22", "[SHIFT][UP:17][BACK]") SetVariable("l23", "With Macros you can also let a special word be[ENTER]replaced by some text.[ENTER:2]You can, for instance, let your E-Mail address be[ENTER]entered automatically, when you enter the word EMAIL.[ENTER:2]") SetVariable("l24", "Watch this...[ENTER:2]") SetVariable("l25", "My E-Mail address is: email") SetVariable("l26", "[BACK:5]demo@demo.com") SetVariable("l27", "[ENTER:2]It is also very easy to, for instance, let your name[ENTER]be entered 50 times automatically...[ENTER:2]") SetVariable("l28", "John Doe") SetVariable("l29", "[ENTER](Here you see 50 times your windows login name)[ENTER:2]") SetVariable("l30", "Macros can also move the mouse automatically... Watch this...[ENTER:2]") SetVariable("l31", "So, that was quite enough...[ENTER:2]") SetVariable("l32", "As you can see, you can do an awful lot with Macros.[ENTER]This Demo has only shown you a fraction of what is possible.[ENTER:2]") SetVariable("l33", "The most important thing is that you have understood[ENTER]that Macros can save you a lot of typing and mousing.[ENTER]And that it thus, helps you fight RSI actively...[ENTER:2]") SetVariable("l34", "... END OF DEMO ...[ENTER:2]") // Make sure that it looks like someone is really typing SetSendKeysSimulationSpeed(10, 150) // Enter the text SendKeys("%l1%") SendKeys("%l2%") SendKeys("%l3%") SetSendKeysSimulationSpeed(10, 30) SendKeys("%l4%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l5%") SendKeys("%l6%") SetSendKeysSimulationSpeed(10, 30) SendKeys("%l7%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l8%") SetSendKeysSimulationSpeed(10, 30) SendKeys("%l9%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l10%") SendKeys("%l11%") SendKeys("%l12%") SetSendKeysSimulationSpeed(10, 30) SendKeys("%l9%") SendKeys("%l13%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l14%") SendKeys("%l15%") // Make sure that NOT all input goes to Notepad EnsureWindowWithIdentifier() Wait(1500) // Press the Windows key SendKeysAndWaitForWindow("[WIN-ONLY]") Wait(250) GetActiveWindowIdentifier("startmenu_id") EnsureWindowWithIdentifier("%startmenu_id%") Wait(1000) SendKeys("%l16%") Wait(1000) // Make sure that all input goes to Notepad EnsureWindowWithIdentifier() SendKeys("[WIN-ONLY]") Wait(300) EnsureWindowWithIdentifier("%notepad_id%") SendKeys("%l17%") // Make sure that NOT all input goes to Notepad EnsureWindowWithIdentifier() Wait(1500) // Start the calculator ExecuteAndWaitForWindow("calc.exe") Wait(500) GetActiveWindowIdentifier("calc_id") EnsureWindowWithIdentifier("%calc_id%") ChangeWindow("SET_STAYONTOP|SET_CENTER") Wait(1000) ChangeWindow("SET_POSITION", "", 0, 0) Wait(1500) // Make sure that all input goes to Notepad EnsureWindowWithIdentifier("%notepad_id%") SendKeys("%l18%") Wait(1500) // Make sure that all input goes to the calculator EnsureWindowWithIdentifier("%calc_id%") Wait(1000) SetSendKeysSimulationSpeed(500, 500) SendKeys("%l19%") Wait(1500) // Make sure that all input goes to Notepad EnsureWindowWithIdentifier("%notepad_id%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l20%") SendKeys("%l21%") Wait(300) SetSendKeysSimulationSpeed(10,30) SendKeys("%l22%") EnsureWindowWithIdentifier("%calc_id%") ChangeWindow("CLOSE") EnsureWindowWithIdentifier("%notepad_id%") SetSendKeysSimulationSpeed(10, 150) SendKeys("%l23%") SendKeys("%l24%") Wait(500) SendKeys("%l25%") Wait(100) Beep(2000, 100) Wait(100) SetSendKeysSimulationSpeed() SendKeys("%l26%") Wait(1000) SetSendKeysSimulationSpeed(10, 150) SendKeys("%l27%") // Load the system variables, so we know the login name LoadSystemVariables() if("USERNAME", "=", "") SetVariable("USERNAME", "%l28%") end() // Enter the windows login name 50 times at full speed SetSendKeysSimulationSpeed() repeat(25) SendKeys("%USERNAME% %USERNAME%[ENTER]", 0) end() SetSendKeysSimulationSpeed(10, 150) SendKeys("%l29%") Wait(300) SendKeys("%l30%") // Move the mouse cursor MouseSequence("552,117,194, 10,118,192, 10,119,190, 10,121,187, 10,122,184, 10,124,180, 10,126,176, 10,129,172, 10,132,168, 10,134,163, 10,138,159, 10,142,155, 10,147,151, 10,152,148, 10,157,145, 10,163,143, 10,169,141, 10,175,140, 10,182,140, 10,190,140, 10,199,141, 10,208,144, 10,217,146, 10,225,150, 20,232,154, 0,238,158, 10,243,164, 10,247,171, 20,251,178, 0,253,186, 10,254,196, 10,254,208, 20,254,220, 0,253,232, 10,250,244, 10,247,253, 20,243,262, 0,237,269, 10,230,276, 20,222,283, 10,213,289, 0,202,295, 10,192,301, 20,181,307, 10,172,311, 0,163,314, 10,154,316, 20,146,316, 10,137,316, 0,128,314, 10,118,310, 20,108,306, 10,98,301, 0,88,296, 20,80,290, 10,73,284, 10,67,278, 0,62,272, 20,58,266, 10,55,259, 10,52,251, 0,50,244, 20,48,235, 10,47,226, 11,47,217, 0,47,207, 20,48,198, 10,50,189, 10,52,181, 10,55,173, 10,59,166, 10,64,159, 10,70,152, 10,78,145, 10,87,138, 10,96,132, 10,107,126, 10,118,121, 10,128,116, 10,138,113, 10,147,111, 10,154,110, 10,162,110, 10,169,112, 10,175,114, 10,182,118, 10,188,122, 10,193,127, 10,198,132, 10,201,137, 10,204,143, 10,205,149, 10,205,155, 10,203,161, 10,200,167, 20,196,173, 0,190,181, 10,183,189, 10,175,198, 20,168,208, 0,160,218, 10,152,228, 10,144,238, 20,136,246, 0,127,254, 10,118,262, 10,108,270, 20,99,278, 0,92,286, 10,85,295, 10,82,303, 20,79,313, 0,78,323, 10,78,332, 20,77,341, 10,78,349, 0,80,356, 10,84,362, 20,88,368, 10,95,374, 0,102,378, 10,110,382, 20,118,385, 10,127,388, 0,136,389, 20,145,390, 10,154,390, 10,162,389, 0,172,388, 20,182,386, 10,192,383, 0,202,380, 10,212,376, 21,220,372, 10,228,368, 0,234,363, 10,239,357, 20,243,352, 10,245,346, 0,247,339, 20,247,332, 10,246,324, 10,244,316, 0,241,308, 20,238,301, 10,233,295, 10,226,289, 0,219,284, 20,209,280, 10,199,276, 10,189,273, 10,178,270, 10,168,267, 10,158,265, 10,147,263, 10,136,261, 10,124,259, 10,111,257, 10,98,254, 10,85,252, 10,74,249, 10,64,245, 10,56,241, 10,49,237, 10,43,232, 10,37,226, 10,31,219, 10,26,212, 10,21,205, 10,18,197, 10,15,190, 10,14,183, 10,14,176, 10,15,170, 10,19,164, 10,23,157, 10,28,151, 10,34,144, 10,41,137, 10,49,131, 10,58,124, 10,68,117, 10,80,111, 10,94,105, 10,109,100, 20,123,97, 0,136,94, 10,147,92, 10,158,91, 20,168,91, 0,178,93, 10,188,96, 10,198,99, 20,209,104, 0,218,109, 10,226,114, 20,233,120, 10,237,125, 0,240,131, 10,242,136, 20,243,142, 11,242,148, 0,240,154, 10,237,161, 20,233,167, 10,227,173, 0,220,180, 10,212,186, 20,203,192, 10,194,198, 0,184,203, 10,175,208, 20,167,214, 10,159,219, 0,150,224, 20,141,228, 10,131,233, 10,120,237, 0,109,242, 20,98,246, 10,87,250, 10,77,254, 0,69,258, 20,62,263, 10,56,267, 10,51,273, 0,46,278, 20,42,283, 10,38,290, 10,35,297, 10,32,304, 10,31,312, 10,29,321, 10,29,329, 10,30,337, 10,32,344, 10,35,351, 10,39,357, 10,43,362, 10,49,367, 10,55,371, 10,62,374, 10,71,377, 10,81,378, 10,92,380, 10,104,380, 10,116,380, 10,126,380, 10,135,379, 10,143,378, 10,151,376, 10,158,374, 10,164,371, 10,170,367, 10,175,364, 10,179,360, 10,182,356, 10,185,351, 10,186,347, 10,186,341, 20,186,335, 0,185,328, 10,183,321, 10,180,314, 10,177,307, 10,172,301, 10,167,295, 10,162,289, 10,156,284, 10,149,279, 11,143,273, 20,135,268, 0,126,262, 10,117,257, 10,108,251, 20,98,246, 0,89,240, 10,80,233, 10,72,226, 20,66,219, 0,61,211, 10,57,204, 10,53,197, 20,50,191, 0,47,184, 10,45,178, 20,44,172, 10,43,166, 0,43,160, 10,44,153, 20,46,146, 10,49,139, 0,52,133, 10,57,126, 20,62,120, 10,69,114, 0,77,109, 10,87,103, 20,97,99, 10,109,95, 0,120,93, 20,131,91, 10,141,91, 10,151,91, 0,160,91, 20,169,93, 10,178,95, 10,187,100, 0,196,105, 20,205,111, 10,213,118, 10,220,125, 10,225,132, 10,229,140, 10,233,148, 10,235,156, 10,236,164, 10,237,172, 10,236,180, 10,234,188, 10,231,197, 10,226,206, 10,221,215, 10,214,224, 10,207,233, 10,198,240, 10,189,247, 10,180,253, 10,171,260, 10,162,266, 10,153,273, 10,144,280, 10,134,287, 10,124,294, 10,114,301, 10,104,309, 10,95,317, 10,87,326, 10,82,335, 11,77,344, 10,74,353, 10,72,361, 20,70,369, 0,70,377, 10,71,384, 10,73,391, 20,77,397, 0,82,402, 10,89,408, 10,98,413, 20,107,418, 0,117,423, 10,127,428, 20,136,432, 10,146,435, 0,155,436, 10,164,437, 20,173,437, 10,184,436, 0,195,433, 10,206,430, 20,217,425, 10,227,420, 0,236,414, 10,243,408, 20,250,402, 10,255,396, 0,258,389, 20,261,382, 10,262,375, 10,262,368, 0,262,361, 20,261,352, 10,259,344, 10,255,334, 0,250,324, 20,244,315, 10,237,306, 0,229,297, 20,219,290, 10,208,283, 10,196,277, 0,183,272, 20,172,266, 10,161,261, 10,150,256, 0,138,251, 20,125,246, 10,113,241, 10,100,236, 0,88,230, 20,78,224, 10,69,217, 10,62,210, 0,56,203, 20,50,195, 10,46,188, 10,43,181, 10,40,175, 10,39,168, 10,38,161, 10,39,154, 10,41,147, 10,44,140, 10,48,134, 10,53,127, 10,59,121, 11,66,115, 10,74,109, 10,84,104, 10,96,100, 10,108,97, 10,121,94, 10,133,92, 10,144,91, 10,154,91, 10,164,92, 10,172,95, 10,180,99, 10,187,105, 10,194,111, 10,200,118, 10,205,125, 10,209,132, 20,211,139, 0,212,146, 10,212,153, 10,210,161, 20,207,168, 0,202,175, 10,197,181, 10,190,189, 20,184,196, 0,177,205, 10,170,213, 10,164,220, 20,157,226, 0,151,231, 10,144,235, 20,138,239, 10,133,242, 0,129,244, 10,127,245, 20,126,244, 10,125,240") SendKeys("%l31%") Wait(200) SendKeys("%l32%") Wait(300) SendKeys("%l33%") Wait(500) SendKeys("%l34%")