精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖脚本编程〗>>〖脚本编程〗如何向特定名称的窗口发送热键?

主题:〖脚本编程〗如何向特定名称的窗口发送热键?
发信人: foxzz()
整理人: foxzz(2003-09-18 11:31:06), 站内信件
问题提出:如何自动批保存网页(.asp)中的内容
由于是asp文件,因此不能用工具软件(如FlashGet)直接下载
否则下载是asp代码

代码如下:
&& 声明sleep的api
Declare Sleep IN kernel32 INTEGER dwMilliseconds
&& 启动脚本对象
oShell = CreateObject("WScript.Shell")

local m_i,m_j
FOR m_i=2 TO 17
    && 创建InternetExplorer对象
    oie = CreateObject("InternetExplorer.Application")
    oie.Visible=.t.

    m_j=ALLTRIM(STR(m_i))
    && 导航
    oie.Navigate("http://www.server1.com/page"+m_j+".asp")
    DO WHILE oIE.busy
       && 如果忙,则等待
       = Sleep (1000)
    ENDDO
    DO While oiE.readystate<>4
       && 准备状态
    ENDDO
    && 激活InternetExplorer窗口
    IF oShell.AppActivate(OIE.DOCUMENT.title)
       = Sleep (1000)
       && 发送热键             
       oShell.SendKeys("%{F}{A}{TAB}{TAB}{ENTER}") 
    ENDIF
    = Sleep (1000)
    DO WHILE oIE.busy
       = Sleep (1000)
    ENDDO
    DO While oiE.readystate<>4
    ENDDO
    oie.quit
ENDFOR
oShell=.null.


后记:
本来想用oIE.Execwb(OLECMDID_SAVEAS,OLECMDEXECOPT_DONTPROMPTUSER,"mysavepage.html")
也即:oIE.Execwb(4,2,"mysavepage.html")命令来解决,但有以下问题:
1、不能屏蔽另存窗口,理论上应该可以
2、保存的网页格式是:仅html格式
还请有心得的大侠指点。



----
天行健,君子以自强不息
 

[关闭][返回]