Powerbuilder 如何下载网页

可以用现成的API函数,功能强大,非常的好用。

我今天想下载一些网页内容,这里用到一个非常好的API函数。

没有什么是API做不到的。所以多学一个API函数,可以省下不少力气。

这个函数的原型是:

函数原型:

HRESULT URLDownloadToFile( 
    LPUNKNOWN pCaller,
    LPCTSTR szURL,
    LPCTSTR szFileName,
    DWORD dwReserved,
    LPBINDSTATUSCALLBACK lpfnCB
);

参数详解:

pCaller:
微软的调用ActiveX组件控制IUnknown接口地址,如果对方是一个ActiveX组件。如果调用应用程序不是一个ActiveX组件,该值可以被设置为零。
否则,对方是一个组件对象模型(COM)的对象,包含在另一个部件,如在HTML页面中的ActiveX控件。这个参数表示调用组件的最外层IUnknown。
尝试下载功能的ActiveX客户端框架的背景下,允许调用方的容器上的下载进度接收回调。

szURL:
  含有URL下载地址是一个字符串值。不能设置为空。

szFileName:
  包含创建位来自下载的文件名的字符串值的地址。

dwReserved:
  保留。必须为零。

lpfnCB:
  对来电者的ibindstatuscallback接口地址。ibindstatuscallback::ondataavailable从来没有被调用。
  实施ibindstatuscallback::onprogress允许调用者实现用户界面或其他进程监控功能。它还允许下载操作
  将返回e_abort从ibindstatuscallback取消::onprogress呼叫。这可以被设置为空。

返回值

E_OUTOFMEMORY    缓冲区的长度无效或没有足够的内存来完成操作。
S_OK          操作成功

这个函数从互联网下载网页内容并将其保存到指定的文件。此函数可以刷任何网站的访问量。

好了,有了这个函数原型 ,在Powerbuilder中如何使用呢?

当然了,使用也是很简单了,如果你对powerbuilder也是一知半解的话,函数声明也会一头雾水。

好吧。我这里有现成的代码,拿去抄吧。

SUBROUTINE URLDownloadToFileW ( Long lpunknown, String lpcstr, String lpcstr, Long dword, LONG TLPBINDSTATUSCALLBACK) LIBRARY "URLMON.DLL"


long ll_null;
setnull(ll_null);
URLDownloadToFileW(ll_null,"https://www.baidu.com/",'c:\\bb.htm',0,ll_null);

### 关于 PowerBuilder 的官方下载地址及版本列表 PowerBuilder 是一款由 Sybase(现已被 SAP 收购)开发的企业级应用开发工具,广泛用于构建数据库驱动的应用程序。以下是关于其官方下载地址及相关版本的信息: #### 官方下载地址 SAP 提供了 PowerBuilder 的正式下载页面,用户可以通过访问以下链接找到最新的版本以及历史版本的下载选项: [SAP PowerBuilder 下载页面](https://www.sap.com/products/powerbuilder.html)[^5] 在此页面上,您可以查看到当前可用的主要版本及其功能更新日志。 #### 历史版本信息 除了官方渠道外,一些第三方平台也提供了 PowerBuilder 不同版本的历史存档。例如,在引用中提到的一个开源仓库提供了从 **PowerBuilder 12.5 到 12.6** 的所有版本资源文件下载[^2]。该仓库的具体地址为: [GitCode PowerBuilder 资源库](https://gitcode.com/open-source-toolkit/97fec) 需要注意的是,这些非官方资源可能不完全适用于商业用途,请务必确认许可协议后再使用。 #### 版本支持情况 根据已知信息,PowerBuilder 各版本的支持范围如下: - 当前最新稳定版通常会标注在其官网的产品发布说明中。 - 对于较旧版本(如 PB 9.0 或更早),虽然仍可运行,但由于缺乏技术支持和安全补丁,建议升级至更高版本以获得更好的性能与兼容性[^1]。 此外,针对特定需求如防反编译保护等功能,存在独立工具如 `pbobfuscator` 来增强代码安全性,它覆盖了从 PKB2.5 至 PB12 多数主流版本的需求[^3]。 对于希望尝试早期测试性质或者定制化框架的情况,则可以参考个人开发者分享的内容来获取额外帮助材料[^4]。 ```python # 示例 Python脚本展示如何通过requests模块抓取网页内容(仅作为演示目的) import requests def fetch_powerbuilder_versions(url): response = requests.get(url) if response.status_code == 200: return response.text.splitlines() else: raise Exception(f"Failed to retrieve data from {url}") versions_list_url = "https://example.com/powerbuilder_versions" try: versions_info = fetch_powerbuilder_versions(versions_list_url) except Exception as e: print(e) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值