【发布时间】:2012-10-21 20:53:22
【问题描述】:
我正在使用 C++ builder 5 并在我的程序中获得了一些链接。如果没有默认选项,我希望这些链接在默认系统浏览器或 firefox 中打开。
我用过:
ShellExecute(NULL, "open", "http://maps.google.nl/maps?f=q&hl=nl&q=", NULL, NULL, SW_SHOWNORMAL);
但对于某些链接,它不适用于已经存在的代码。
// this is not working
case 4: if(Qry_shipment->RecordCount == 0){return;}
webaddress = "http://maps.google.nl/maps?f=q&hl=nl&q=";
//we need the info from clicked shipment-not from overflow
if(Qry_shipment->FieldByName("tstohn")->AsString == pAuthorization[7])
{
webaddress = webaddress
+ Qry_shipment->FieldByName("tslpla")->AsString + ","
+ Qry_shipment->FieldByName("tslzcd")->AsString + ","
+ Qry_shipment->FieldByName("lalaad")->AsString;
}
else
{
webaddress = webaddress
+ Qry_shipment->FieldByName("tsupla")->AsString + ","
+ Qry_shipment->FieldByName("tsuzcd")->AsString + ","
+ Qry_shipment->FieldByName("lalos")->AsString;
}
break;
可能有一些代码,所以我可以为它自己的程序定义默认浏览器,这样我就不必编辑所有链接。
【问题讨论】:
-
你到底有什么问题?浏览器是否显示但没有打开您的页面(确保您的 URL 构造正确),还是 ShellExecute 自身失败?
-
ShellExecute 将使用默认浏览器打开 URL。如果您在从数据库中添加参数时代码失败,请告诉我们失败的完整 URL。由于我不是通灵者,我无法推断出您数据库的内容...
标签: c++ c++builder c++builder-5