delphi 获取360极速浏览器url
时间: 2023-08-04 14:08:38 浏览: 114
您可以使用以下 Delphi 代码来获取 360 极速浏览器的当前 URL:
```delphi
uses
ActiveX, SHDocVw;
function Get360BrowserUrl: string;
var
ShellWindows: IShellWindows;
IE: IWebBrowser2;
i: Integer;
begin
Result := '';
ShellWindows := CoShellWindows.Create;
for i := 0 to ShellWindows.Count - 1 do
begin
if Supports(ShellWindows.Item(i), IWebBrowser2, IE) then
begin
if Pos('360se', IE.FullName) <> 0 then // 判断是否为 360 极速浏览器
begin
Result := IE.LocationURL;
Break;
end;
end;
end;
end;
```
该代码使用 `CoShellWindows` COM 对象获取当前所有打开的浏览器窗口,然后判断是否为 360 极速浏览器,并返回当前打开窗口的 URL。
相关问题
delphi 获取360极速浏览器的当前url
你可以使用以下 Delphi 代码来获取 360 极速浏览器的当前 URL:
```delphi
uses
Winapi.Windows, Winapi.ActiveX, System.Win.ComObj;
function Get360ChromeURL: string;
const
CLSID_CUrlHistory: TGUID = '{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';
IID_IUrlHistoryStg: TGUID = '{3C374A41-BAE4-11CF-BF7D-00AA006946EE}';
IID_IEnumSTATURL: TGUID = '{3C374A42-BAE4-11CF-BF7D-00AA006946EE}';
var
UrlHistory: IUrlHistoryStg;
EnumUrls: IEnumSTATURL;
StatUrl: TStatUrl;
FetchCount: Cardinal;
begin
Result := '';
if Succeeded(CoCreateInstance(CLSID_CUrlHistory, nil, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg, UrlHistory)) then
begin
if Succeeded(UrlHistory.EnumUrls(EnumUrls)) then
begin
EnumUrls.Reset;
FetchCount := 1;
while (FetchCount > 0) and (EnumUrls.Next(1, StatUrl, @FetchCount) = S_OK) do
begin
if AnsiContainsStr(StatUrl.pwcsUrl, '360chrome') then
begin
Result := StatUrl.pwcsUrl;
Break;
end;
CoTaskMemFree(StatUrl.pwcsUrl);
CoTaskMemFree(StatUrl.pwcsTitle);
end;
end;
end;
end;
```
这段代码使用 Windows 的 COM 接口 IUrlHistoryStg 和 IEnumSTATURL 来获取浏览器历史记录中的 URL。在返回的结果中,找到包含“360chrome”字符串的 URL,即为当前正在浏览的 URL。
阅读全文