这个应该是没办法..
用别的语言(如VB或VC都有可能模拟按键事件,但VBS就不行了.)

解决方案 »

  1.   

    用VB或VC做吧
    用个FindWindow,SendMessage就可以处理其中的对话框了..
      

  2.   

    关键问题是你要转换为什么格式?如何对对话框进行操作的?
    用脚本可以做到的。前提是文件名要有规律。
    例子:
    下面的脚本是打开录音机,发送key, 存储一个abc.wav, 将下面另存为task.js, 在资源管理其中双击运行:    WshShell = WScript.CreateObject("WScript.Shell");
        WshShell.Run("sndrec32");
        WScript.Sleep(100);
        WshShell.AppActivate("录音机");
        WScript.Sleep(100);
        WshShell.SendKeys("%F");
      WScript.Sleep(100);
        WshShell.SendKeys("S");
      WScript.Sleep(100);
        WshShell.SendKeys("abc.wav");
      WScript.Sleep(100);
        WshShell.SendKeys("{ENTER}");
      WScript.Sleep(100);
      

  3.   

    嗯,我有些明白了...
    但是我这个目录下的所有文件,都要依次执行用"录音机"打开,然后如上的操作。那该怎样做呢?是不是先遍历整个目录,然后对每个文件执行打开的操作(.wav的默认打开方式为录音机)?还是先运行“录音机”,然后依次打开文件,代码上能不能给些提示?
    (现在只要另存,就能变成我想要的格式了;如果另存的文件名与原名相同,自然会有确认覆盖的对话框,确定就可以了,当然如果直接输入名字会更好)
    另:如果解决,另外再送100分
      

  4.   

    也可通过网页进行操作,这是要去掉Wscript.Sleep。
    有自动和手动两种。为保险起见,最好手动。
    先创建一个WScript.Shell和FSO对象,用FSO遍历目录,找出所有wav文件,放在一个数组中。
    将打开文件和保存文件的代码放在函数中,通过按钮来调用WshShell发送按键,每次处理一个文件。
    参见刚才的刷新远程网页问题。
      

  5.   

    现在的问题是文件名都是中文,SendKeys()后变成[、-之类的符号,如之奈何?是否可以得到文件名之后,模拟复制、粘贴的操作,还是怎么样做?
      

  6.   

    Key   Special Character 
    SHIFT   + 
    CTRL    ^ 
    ALT     % 
      

  7.   

    这个我知道,模拟粘贴自然可以,但怎么复制呢?难不成我要写到记事本里再Ctrl+A Ctrl+C吗?(我确实有试过,太...)
    这件事情已经结束了,我只是想知道wsh中有没有这种方法