Forums
New posts
Search forums
News
Security News
Technology News
Giveaways
Giveaways, Promotions and Contests
Discounts & Deals
Reviews
Users Reviews
Video Reviews
Support
Windows Malware Removal Help & Support
Mac Malware Removal Help & Support
Mobile Malware Removal Help & Support
Blog
Log in
Register
What's new
Search
Search titles only
By:
Search titles only
By:
Reply to thread
Menu
Install the app
Install
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Forums
Security
Guides - Privacy & Security Tips
[Trick] Make your computer talk
Message
<blockquote data-quote="pdameasap" data-source="post: 245533" data-attributes="member: 26453"><p>First script works, but second one probably fails on Windows 7 as it does for me.</p><p></p><p>This should fix it, though:</p><p></p><p>Windows 7</p><p></p><p><a href="http://support.microsoft.com/kb/969168" target="_blank">http://support.microsoft.com/kb/969168</a></p><p></p><p>Windows 7 x64</p><p></p><p><a href="http://hotfixv4.microsoft.com/Microsoft%20Agent/latest/MSAgentWin7x64/200909210200/free/395040_intl_x64_zip.exe" target="_blank">http://hotfixv4.microsoft.com/Microsoft Agent/latest/MSAgentWin7x64/200909210200/free/395040_intl_x64_zip.exe</a></p><p></p><p>Another possibility may be:</p><p></p><p><a href="http://desktopmates.com/downloads/MSagent.exe" target="_blank">http://desktopmates.com/downloads/MSagent.exe</a></p><p></p><p>Referenced from:</p><p></p><p><a href="https://groups.google.com/forum/#!topic/microsoft.public.msagent/wN3Z2ppf-8Y" target="_blank">https://groups.google.com/forum/#!topic/microsoft.public.msagent/wN3Z2ppf-8Y</a></p><p></p><p>Regardless, the following reference itself has references describing what can be done with this.</p><p></p><p>Documentation:</p><p></p><p><a href="http://stackoverflow.com/questions/1116451/what-are-all-the-actions-the-merlin-agent-can-do" target="_blank">http://stackoverflow.com/questions/1116451/what-are-all-the-actions-the-merlin-agent-can-do</a></p><p></p><p>Here's my version (mine's not as concise as theirs):</p><p></p><p>[CODE]' Get the screen height/width, but call later</p><p>Function fnScreenRes()</p><p> Dim xH, xW</p><p> With CreateObject("InternetExplorer.Application")</p><p> .Navigate("about:blank")</p><p> Do Until .readyState = 4: Loop</p><p> xW = .document.ParentWindow.screen.width</p><p> xH = .document.ParentWindow.screen.height</p><p> .Quit</p><p> End With</p><p> fnScreenRes = array(xW, xH)</p><p>End Function</p><p></p><p>' Determine the architecture</p><p>Dim WshShell</p><p>Dim WshProcEnv</p><p></p><p>Dim sArchSys</p><p>Dim sArchProc</p><p></p><p>Dim nArchRes</p><p>iLoop = 2048</p><p>sArch = ""</p><p></p><p>Set WshShell = CreateObject("WScript.Shell")</p><p>Set WshProcEnv = WshShell.Environment("Process")</p><p></p><p>sArchProc = WshProcEnv("PROCESSOR_ARCHITECTURE")</p><p></p><p>If sArchProc = "x86" Then</p><p> sArchSys = WshProcEnv("PROCESSOR_ARCHITEW6432")</p><p></p><p> If sArchSys = "" Then</p><p> sArchSys = "x86"</p><p> End if</p><p>Else</p><p> sArchSys = sArchProc</p><p>End If</p><p></p><p>Do While iLoop <> 1</p><p> nArchRes = InStr(sArchSys, CStr(iLoop))</p><p> If nArchRes <> 0 Then</p><p> sArch = CStr(iLoop)</p><p> Exit Do</p><p> End If</p><p></p><p> iLoop = CInt(iLoop / 2)</p><p>Loop</p><p>If sArch = "x86" Then</p><p> sArch = "32"</p><p>End If</p><p>If sArch = "32" Then</p><p> sArch = ""</p><p>End If</p><p></p><p>' Invoke Merlin accordingly</p><p>sNameAgent = "Merlin"</p><p>sPathAgent = "C:\Windows\MSAgent" & sArch & "\Chars\" & sNameAgent & ".acs"</p><p></p><p>Set oAgent = CreateObject("Agent.Control.2")</p><p></p><p>' Connect to the agent service</p><p>oAgent.Connected = TRUE</p><p></p><p>' Load the character desired</p><p>oAgent.Characters.Load sNameAgent, sPathAgent</p><p></p><p>iWait = 500</p><p></p><p>Dim oAnim</p><p>With oAgent.Characters.Character(sNameAgent)</p><p></p><p> Set oAnim = .Show</p><p></p><p> ' Chew on this while showing</p><p> oScreen = fnScreenRes()</p><p></p><p> iX = CInt(oScreen(0) / 2) - CInt(.Width / 2)</p><p> iY = CInt(oScreen(1) / 2) - CInt(.Height / 2)</p><p></p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("GetAttention")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("GetAttentionContinued")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("GetAttentionReturn")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> ' Move to the center of the screen.</p><p> ' If you have two monitors, I'm sorry, but</p><p> ' you're well and truly screwed because</p><p> ' I just can't be bovvered.</p><p> Set oAnim = .MoveTo(iX, iY)</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("Greet")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("RestPose")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("Pleased")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Speak("Hello, I am " & sNameAgent & "!")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("DoMagic1")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Speak("That's the way! Uh huh. Uh huh.")</p><p> .Speak("I like it! Uh huh. Uh huh.")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("DoMagic2")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Speak("Goodbye!")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> Set oAnim = .Play("Wave")</p><p> Do Until oAnim.Status = 0</p><p> Wscript.Sleep iWait</p><p> Loop</p><p> Set oAnim = Nothing</p><p></p><p> .Hide</p><p></p><p> ' Allow agent to finish whatever commanded before exiting</p><p> Do While .Visible = TRUE</p><p> Wscript.Sleep iWait</p><p> Loop</p><p>End With</p><p></p><p>' Clean up properly</p><p>oAgent.Characters.Unload sNameAgent</p><p></p><p>Wscript.Quit[/CODE]</p></blockquote><p></p>
[QUOTE="pdameasap, post: 245533, member: 26453"] First script works, but second one probably fails on Windows 7 as it does for me. This should fix it, though: Windows 7 [url]http://support.microsoft.com/kb/969168[/url] Windows 7 x64 [url]http://hotfixv4.microsoft.com/Microsoft%20Agent/latest/MSAgentWin7x64/200909210200/free/395040_intl_x64_zip.exe[/url] Another possibility may be: [url]http://desktopmates.com/downloads/MSagent.exe[/url] Referenced from: [url]https://groups.google.com/forum/#!topic/microsoft.public.msagent/wN3Z2ppf-8Y[/url] Regardless, the following reference itself has references describing what can be done with this. Documentation: [url]http://stackoverflow.com/questions/1116451/what-are-all-the-actions-the-merlin-agent-can-do[/url] Here's my version (mine's not as concise as theirs): [CODE]' Get the screen height/width, but call later Function fnScreenRes() Dim xH, xW With CreateObject("InternetExplorer.Application") .Navigate("about:blank") Do Until .readyState = 4: Loop xW = .document.ParentWindow.screen.width xH = .document.ParentWindow.screen.height .Quit End With fnScreenRes = array(xW, xH) End Function ' Determine the architecture Dim WshShell Dim WshProcEnv Dim sArchSys Dim sArchProc Dim nArchRes iLoop = 2048 sArch = "" Set WshShell = CreateObject("WScript.Shell") Set WshProcEnv = WshShell.Environment("Process") sArchProc = WshProcEnv("PROCESSOR_ARCHITECTURE") If sArchProc = "x86" Then sArchSys = WshProcEnv("PROCESSOR_ARCHITEW6432") If sArchSys = "" Then sArchSys = "x86" End if Else sArchSys = sArchProc End If Do While iLoop <> 1 nArchRes = InStr(sArchSys, CStr(iLoop)) If nArchRes <> 0 Then sArch = CStr(iLoop) Exit Do End If iLoop = CInt(iLoop / 2) Loop If sArch = "x86" Then sArch = "32" End If If sArch = "32" Then sArch = "" End If ' Invoke Merlin accordingly sNameAgent = "Merlin" sPathAgent = "C:\Windows\MSAgent" & sArch & "\Chars\" & sNameAgent & ".acs" Set oAgent = CreateObject("Agent.Control.2") ' Connect to the agent service oAgent.Connected = TRUE ' Load the character desired oAgent.Characters.Load sNameAgent, sPathAgent iWait = 500 Dim oAnim With oAgent.Characters.Character(sNameAgent) Set oAnim = .Show ' Chew on this while showing oScreen = fnScreenRes() iX = CInt(oScreen(0) / 2) - CInt(.Width / 2) iY = CInt(oScreen(1) / 2) - CInt(.Height / 2) Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("GetAttention") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("GetAttentionContinued") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("GetAttentionReturn") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing ' Move to the center of the screen. ' If you have two monitors, I'm sorry, but ' you're well and truly screwed because ' I just can't be bovvered. Set oAnim = .MoveTo(iX, iY) Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("Greet") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("RestPose") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("Pleased") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Speak("Hello, I am " & sNameAgent & "!") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("DoMagic1") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Speak("That's the way! Uh huh. Uh huh.") .Speak("I like it! Uh huh. Uh huh.") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("DoMagic2") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Speak("Goodbye!") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing Set oAnim = .Play("Wave") Do Until oAnim.Status = 0 Wscript.Sleep iWait Loop Set oAnim = Nothing .Hide ' Allow agent to finish whatever commanded before exiting Do While .Visible = TRUE Wscript.Sleep iWait Loop End With ' Clean up properly oAgent.Characters.Unload sNameAgent Wscript.Quit[/CODE] [/QUOTE]
Insert quotes…
Verification
Post reply
Top