uses CommCtrl, httpApp, ShellApi;
{
 GetWebPath(WebBrowser1);
}
function GetWebPath(web: TWebBrowser): string;
var
  item: TLvItem;
  clsName: array [0 .. MAX_PATH] of char;
  hwndLv: HWND;
  selCount, fileCount, selMark: Integer;
  fileName: array [0 .. MAX_PATH] of char;
begin
  hwndLv := GetWindow(web.Handle, GW_CHILD);
  hwndLv := GetWindow(hwndLv, GW_CHILD);
  GetClassName(hwndLv, clsName, MAX_PATH);
  if (UpperCase(clsName) <> 'SYSLISTVIEW32') then
    Exit;
  Result := web.LocationURL;
  Result := StringReplace(Result, 'file:///', '', [rfIgnoreCase]);
  Result := StringReplace(Result, '/', '\', [rfReplaceAll]);
// Result := StringReplace(Result, '%20', ' ', [rfReplaceAll]);
 
  if (Result[length(Result)] <> '\') then
    Result := Result + '\';
 
  fileCount := ListView_GetItemCount(hwndLv);
  selCount := ListView_GetSelectedCount(hwndLv);
  selMark := ListView_GetSelectionMark(hwndLv);
  if (selCount = 0) or (selMark = -1) then
    Exit;
 
  ListView_GetItemText(hwndLv, selMark, 0, @fileName[0], MAX_PATH);
  Result := HttpDecode(Result + fileName);
end;

打开WEBBROWSER的选中文件路径的更多相关文章

  1. windows eclipse IDE打开当前类所在文件路径

    1. 展开如下菜单: Run ---- External Tools ---- External Tools Configurations 2. 在 program 下面新建一个工具 program- ...

  2. python打开一个本地目录文件路径

    os.path.abspath()os 模块为 python 语言标准库中的 os 模块包含普遍的操作系统功能.主要用于操作本地目录文件.path.abspath()方法用于获取当前路径下的文件. 比 ...

  3. Linux读取文件路径问题

    问题是这样的: 首先终端上有当前路径显示,我有个可执行程序代码是这样的: FILE fp  = fopen(filename, "rb"); if(fp == NULL)     ...

  4. TC9.0新增实用接口,用AutoHotkey获取当前选中文件等信息

    TC9.0的history.txt里有几行更新说明(见文章末尾),可以用SendMessage命令获取信息, 消息号是WM_USER+50(即1074),wParam则是更新说明里的内容, 下面是我简 ...

  5. Elicpse使用技巧-打开选中文件文件夹或者包的当前目录

    很多时候,我们需要在eclipse那里打开选中文件(文件夹,包)的当前目录,在资源管理器那里显示这个目录,这个时候,我们又不想采用“选中文件/文件夹/包名--右击--Properties--Locat ...

  6. Eclipse 中打开选中文件/文件夹所在目录

    习惯了使用VS中的 ”通过右键打开选中文件/文件夹在电脑中的目录”功能后, 当切换到Eclipse环境后,发现居然找不到这个功能, 虽可以通过右键文件属性,看到文件路径,复制路径然后在资源管理器中打开 ...

  7. MAC与windows下打开当前文件路径的命令行(终端)

    MAC 下文件夹与终端: 1.打开当前路径的终端窗口方法: ①直接拖动要打开的文件夹到终端 ②打开finder的服务偏好设置, 勾选"新建位于文件夹位置的终端"选项, 以后可以在文 ...

  8. eclipse插件:打开选中文件所在的目录

    easyexplore是一个eclipse的小插件,它能直接打开选中文件所在的目录 下载: 地址:http://sourceforge.net/projects/easystruts/files/,我 ...

  9. delphi 获取 TreeView选中的文件路径

      //获取 TreeView选中的文件路径 unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, G ...

随机推荐

  1. 两个winform窗体同步

    /// <summary>        /// 初始left距离        /// </summary>        int initx = 0;        /// ...

  2. 配置并学习微信JS-SDK(2)—扫一扫接口http://www.qq210.com/shoutu/android

    http://www.qq210.com/shoutu/android //c_开头的js变量是服务器传过来的 var c_access_token = "<?=$access_tok ...

  3. Windows安装Subversion

    1.安装Setup-Subversion-1.8.16.msi下载地址:https://sourceforge.net/projects/win32svn/ 2.将svn添加到Windows系统服务s ...

  4. 2016022607 - redis配置文件

    在Redis有配置文件(redis.conf)可在Redis的根目录下找到.可以通过Redis的CONFIG命令设置所有Redis的配置. Redis的CONFIG命令的基本语法如下所示: redis ...

  5. cygwin使用

    Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购). 它对于学习UN ...

  6. bzoj 2705: [SDOI2012]Longge的问题 歐拉函數

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1035  Solved: 669[Submit][S ...

  7. BZOJ4033 T1

    Description 有一棵点数为\(N\)的树,树边有边权.给你一个在\(0-N\)之内的正整数\(K\),你要在这棵树中选择\(K\)个点,将其染成黑色,并将其他的\(N-K\)个点染成白色.将 ...

  8. 机械硬盘与SSD固态硬盘性能的深度

    从7200转硬盘升级到10000转的迅猛龙,那叫量变.从10000转的迅猛龙升级到SSD,这个叫质变.2者的差距是有些地方相当大,而有些却很接近,主要是难比较. 经常听到有人说:我买2个黑盘组RAID ...

  9. 5个提升Google Chrome浏览器运行速度的技巧

    尽管有无数个喜欢Google Chrome  浏览器的理由,其中就包括,Chrome已经够快了,但Google Chrome的内存占用而导致的速度拖累还是广受诟病,这种弊端在windows下尤为明显, ...

  10. 【Mongous】write after end

    执行1(---) 执行2(----) 完成1(POST) 执行3(---)