這個範例是從「JScript 程式設計與應用:WSH」提供的程式碼中發現的,算是個滿‧‧‧少用的功能?!說真的,一開始看到這個範例只是覺的新奇,實在想不出來這樣的功能可以用在哪?
程式碼並不多,調整縮排後如下:
/** * * 傳送鍵盤字元控制記事本的方式。 * * @author ace * * @version 2011/01/03 v0.1 * * @param * * @returns * * @requires * */ var strSourceName = new String("Source.txt"); var strTargetName = new String("Target.txt"); // 開啟Notepad程式。 objShell = new ActiveXObject("WScript.Shell"); objShell.Run("notepad " + strSourceName, 9); WScript.Sleep(500); // Give Notepad some time to load // 在檔案尾端加入字串。 objShell.SendKeys("^{END}"); // Ctrl-End objShell.SendKeys("{ENTER}{ENTER}"); objShell.SendKeys("Append some message to the End."); // 另存新檔。 // todo:若目的檔案已存在,則會彈出確認是否取代之詢問視窗,造成程式無法一次完成儲存的流程。 objShell.SendKeys("%{F}"); // Alt-F objShell.SendKeys("a"); objShell.SendKeys(strTargetName); objShell.SendKeys("{TAB}{TAB}{ENTER}"); objShell.SendKeys("%{F4}");
程式的主要功能就是開啟notepad.exe程式,然後~藉由SendKeys函數來操作筆記本!!還需要用Sleep()函數進行延遲,以免按鍵傳送過快,真是有夠危險的作法。在測試程式的過程中,覺得這功能很像按鍵精靈,只是功能不可能那麼強大就是了。也算是個有趣的用法,隨手就記下來,說不定以後可能用的上。
沒有留言:
張貼留言