【问题标题】:open default browser with a post in Delphi在 Delphi 中打开带有帖子的默认浏览器
【发布时间】:2010-05-16 03:04:37
【问题描述】:

我知道在delphi中你可以打开默认浏览器:

ShellExecute(self.WindowHandle,'open','www.website.com',nil,nil, SW_SHOWNORMAL);

但我想知道是否有办法在新打开的浏览器窗口上自动发布数据或自动填充登录数据(即使在 firefox、safari 等中)

谢谢

-布拉德

【问题讨论】:

    标签: delphi delphi-2009 delphi-7 twebbrowser


    【解决方案1】:

    您可以使用 OLE 启动浏览器,并使用 navigate 函数将数据和上下文传递给 url。

    用 OLE 打开 IE

    MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2;
    

    发送数据到网址

    MyBrowser.Navigate('http://mysite.com', Flags, EmptyParam, PostData, Headers);
    

    有关导航功能的示例,请参见此处: http://forums.devshed.com/showpost.php?p=2408145&postcount=2

    我希望这会有所帮助!

    【讨论】:

    • 不想只使用 IE,但这可能是我唯一的选择。谢谢你的信息。
    【解决方案2】:

    需要在网站名称前加上“http://”,否则操作系统不知道打开什么应用程序。

    ShellExecute(Application.Handle,'open','http://www.bjmsoftware.com',nil,nil, SW_SHOWNORMAL);

    在控制台应用程序中为我工作。

    【讨论】:

    • 正确,但他的问题是他是否可以指定应该发布哪些数据或填写哪些字段。
    • @Lars,是的,在按回车后看到它并试图删除我自己的答案,但它只是注册了一个“投票删除”......
    【解决方案3】:

    不,不能使用 url 发布数据或使用 ShellExecute 填写字段。没有通用 API,所有浏览器都必须远程控制。替代方法是使用 GET(在 url 本身中编码)或直接与特定浏览器对话,例如 TridenT suggests

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多