跪求shellexecute打开的网页文件在哪儿??

LOWGUN 2014-07-07 04:13:23

比如我要在程序中打开一个网页的内容
ShellExecute( NULL, "open ","http://www.mywork163.cn/Data/workflow.TXT",NULL, NULL, SW_SHOWNORMAL );这个函数成功执行后文件 workflow.TXT在哪儿,或者我从哪里去获取该文件的 内容?
...全文
174 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
小轩836 2014-07-12
  • 打赏
  • 举报
回复
引用 12 楼 Sandrer 的回复:
[quote=引用 11 楼 u012385186 的回复:] 不知道楼上有没有做过访问https的情况,访问改种网页的时候,会弹出一个让用户确认的证书,再楼上说的方法时,不知道还有效果吗?我试了,好像没有效果,不知道是我的做的不对?还是用的方法有问题??
方法肯定是有的,只是我们还不清楚而已 不然你认为 windows 的 ie 是怎么访问的 底层还不是调用这些函数的[/quote] 我用C++的Form窗口,调用IE控件的时候,其中有ie浏览器的各种状态,可以在其中判断浏览器的加载状况,根据这个,然后取得网页中的内容,这个比较方便点吧?
向立天 2014-07-12
  • 打赏
  • 举报
回复
先看看IE的临时文件目录
Sandrer 2014-07-12
  • 打赏
  • 举报
回复
引用 11 楼 u012385186 的回复:
不知道楼上有没有做过访问https的情况,访问改种网页的时候,会弹出一个让用户确认的证书,再楼上说的方法时,不知道还有效果吗?我试了,好像没有效果,不知道是我的做的不对?还是用的方法有问题??
方法肯定是有的,只是我们还不清楚而已 不然你认为 windows 的 ie 是怎么访问的 底层还不是调用这些函数的
Sandrer 2014-07-12
  • 打赏
  • 举报
回复
就是类似那中按下按钮的声音
Sandrer 2014-07-12
  • 打赏
  • 举报
回复
引用 14 楼 u012385186 的回复:
[quote=引用 12 楼 Sandrer 的回复:] [quote=引用 11 楼 u012385186 的回复:] 不知道楼上有没有做过访问https的情况,访问改种网页的时候,会弹出一个让用户确认的证书,再楼上说的方法时,不知道还有效果吗?我试了,好像没有效果,不知道是我的做的不对?还是用的方法有问题??
方法肯定是有的,只是我们还不清楚而已 不然你认为 windows 的 ie 是怎么访问的 底层还不是调用这些函数的[/quote] 我用C++的Form窗口,调用IE控件的时候,其中有ie浏览器的各种状态,可以在其中判断浏览器的加载状况,根据这个,然后取得网页中的内容,这个比较方便点吧?[/quote] 那个是重量级的东西了, 而且像我说的一样, 它底层也是调用这几个类(或者函数)的 它于网站建立连接, 就用 CInternetSession, 返回的状态也有专门的类能查询得到 至于取网页的内容, 其实不就是下载吗? 那就是用 CHttpFile 咯 就算现在的电脑内存足够多了, 你还有一个小细节可能没注意到 就是部分电脑的声音设置, 用 ie 打开网页的时候, 有时候会听到"滴滴滴"的声音的, 就算你窗口隐藏了照样能听到
小轩836 2014-07-11
  • 打赏
  • 举报
回复
不知道楼上有没有做过访问https的情况,访问改种网页的时候,会弹出一个让用户确认的证书,再楼上说的方法时,不知道还有效果吗?我试了,好像没有效果,不知道是我的做的不对?还是用的方法有问题??
Sandrer 2014-07-11
  • 打赏
  • 举报
回复
引用 9 楼 u012385186 的回复:
感觉楼主是想打看个网页,然后再得到网页中的内容,和我最近做的一个项目很像,我是用C++的ie控件,先打开这个网页,然后在取网页中的数, 已经解决了,、。 不知道楼主还有没有别的好方法。求分享。
利用 MFC 的对象:CInternetSession、CHttpFile CInternetSession 建立远程连接 CHttpFile 下载文件 无论你远端返回的是网页代码或其它文件,都能用 CHttpFile 访问得到

#include <afxinet.h>
#define REMOTE_URL      L"http://120.31.131.131:26000/fla/GetIp.asp" // 这个网页会把访问IP输出

// 获取外网IP
DWORD CELConnectionBase::GetIp(LPTSTR pszBuffer /*= NULL*/, int nBufLen /*= 0*/)
{
    LPSTR pchIp = NULL;
    DWORD dwIp = 0;

    try
    {
        CInternetSession session(NULL, 0);
        session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 2000);
        CHttpFile *pFile = (CHttpFile *)session.OpenURL(REMOTE_URL);

        int nTextLen = (int)(UINT_PTR)pFile->GetLength();
        if (nTextLen > 0 && nTextLen <= 15)
        {
            nTextLen = (nTextLen / 32 + 1) * 32;
            pchIp = new char[nTextLen];
            ::memset(pchIp, 0, nTextLen);
            pFile->Read(pchIp, nTextLen);

            dwIp = ::inet_addr(pchIp);

            if (pszBuffer != NULL && nBufLen >= 16)
                ::MultiByteToWideChar(CP_ACP, 0, pchIp, nTextLen, pszBuffer, nBufLen);
        }

        pFile->Close();
        delete pFile;
    }
    catch (CException *e)
    {
#ifdef _DEBUG
        TCHAR szBuffer[1024];
        e->GetErrorMessage(szBuffer, 1024);
        int nLen = ::lstrlen(szBuffer);
        szBuffer[nLen++] = '\n';
        szBuffer[nLen] = '\0';
        ::OutputDebugString(szBuffer);
#endif

        dwIp = 0;
        e->Delete();
    }

    if (pchIp != NULL) delete[] pchIp;

    return dwIp;
}
小轩836 2014-07-10
  • 打赏
  • 举报
回复
感觉楼主是想打看个网页,然后再得到网页中的内容,和我最近做的一个项目很像,我是用C++的ie控件,先打开这个网页,然后在取网页中的数, 已经解决了,、。 不知道楼主还有没有别的好方法。求分享。
LOWGUN 2014-07-08
  • 打赏
  • 举报
回复
问题解决了,用这样调用就可以了 WinExec( "C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe http://www.mywork163.cn/Data/workflow.TXT", SW_HIDE );
LOWGUN 2014-07-08
  • 打赏
  • 举报
回复
函数执行了,没报异常,但是浏览器没出现新窗口或者新的标签,相应的文件也没在缓存中搜到。
苒止 2014-07-08
  • 打赏
  • 举报
回复
引用 7 楼 LOWGUN 的回复:
问题解决了,用这样调用就可以了 WinExec( "C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe http://www.mywork163.cn/Data/workflow.TXT", SW_HIDE );
你这么做有潜在问题,你的程序在其他的机器上运行,浏览器路径可能不是C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe ,系统?环境?IE的目录都会变吧
pingshell 2014-07-07
  • 打赏
  • 举报
回复
先查找文件,找到后打开就是了。
LOWGUN 2014-07-07
  • 打赏
  • 举报
回复
在本地的话,怎么通过程序去打开这个文件读取里面的内容啊??
yifuzhiming 2014-07-07
  • 打赏
  • 举报
回复
原始文件当然是在网页服务器里了,你访问的时候就等于下载到本地了
oyljerry 2014-07-07
  • 打赏
  • 举报
回复
在浏览器cache目录中。或者浏览器会让你保存
brk1985 2014-07-07
  • 打赏
  • 举报
回复
如果正常打开,浏览器的缓存里应该有。。。你看看你的缓存目录。。。

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧