念's profile牛肉面的BLOGBlogListsGuestbook Tools Help

Blog


    7/23/2008

    用AHK把TC调出到前台

    TC(Total Commander)是个好软件,能极大的提高工作效率。TC在我的机子上几乎是会一直开着,不过TC并没有提供将自己从后台调到前台的热键,因此每次想用时都要按N次“alt+tab”,或是把手离开键盘放到鼠标上再到任务栏去找半天。今天突然在TC的帮助文件中看到TC启动时支持的命令行参数,其中/o参数是“如果Total Commander正在运行,激活它并传递命令行的路径给该实例”,那如果在TC已经在运行时再用该参数调用调用它,不是会把TC激活?要再配上AHK不是相当于是给TC加了一个从后台调用前台的热键?先用“win+r”带/o参数运行了一下TC,果然可以把后台已经运行的TC调到前台来。OK,好办了,直接用AHK写一条run就OK了,于是在AHK脚本中写下:
    #t::run d:\GREEN\totalcmd_703\TOTALCMD.EXE /O
    一试,果然OK。
    如果TC还没有运行,那么按“win+t”启动TC;如果TC已经在运行了,那么按“win+t”将TC唤至前台。比原来按N次“alt+tab”或者用鼠标找方便多了。
     
    TC还有几个命令行参数,可以从TC的帮助中就可以查到:
    命令行参数
     
    Total Commander启动时可以把一个或两个文件夹做为命令行参数。这些文件夹用来设置一侧或两侧的文件窗口。这样你可以在程序或启动菜单为Total Commander创建多个图标,每个Total Commander启动后打开不同文件夹甚至压缩包。而且可以指定不同的ini文件,不止默认的 wincmd.ini,这样同一机器上的不同用户可以拥有不同的设置。
    语法:
    totalcmd.exe [/o] [/n] [Drive1:\Directory1 [Drive2:\Directory2]] [/i=name.ini] [/f=ftpname.ini]
    or:
    totalcmd.exe [/o] [/n] [/L=Drive1:\Directory1] [/R=Drive2:\Directory2] [/i=name.ini] [/f=ftpname.ini]
    参数:
     
    Drive:\Directory 第一个文件夹在Total Commander左侧窗口打开,第二个在右侧打开。如果文件夹名包含空格,必须 把文件夹名放在双引号内!必须指定包含驱动器符在内的全路径!
    /O 如果Total Commander正在运行,激活它并传递命令行的路径给该实例。 (优先于配置对话框中允许运行多实例的选项)
    /N 始终运行新的Total Commander实例(优先于 配置对话框 中每次只允许一个Total Commander运行的选项)
    /L= 设置左侧窗口的路径
    /R= 设置右侧窗口的路径
    /S 将传入的文件夹名解释为来源文件夹/目标文件夹,而不是左侧窗口文件夹/右侧窗口文件夹(与/O参数同用)。例如, /R= 指定的文件夹将用来设置目标文件夹。
    /T 在新标签中打开文件夹。即使Total Commander未运行也有效。
    /P= 设置程序启动后的活动窗口: /P=L 左侧, /P=R 右侧。优先于wincmd.ini的 ActiveRight= 配置项。
    /i=name.ini 使用name.ini作为配置文件,代替wincmd.ini。
    /F=ftpname.ini 使用ftpname.ini作为内置FTP客户端的配置文件,代替wcx_ftp.ini。
    /d=<x> 延迟Total Commander的启动 <x> 秒 (用于TC放在启动组,与其他程序同时启动存在问题时)
    /INSTALLDRIVER (仅对Windows NT/2000) 安装并口驱动 - 仅在希望以普通用户(非管理员)身份使用 直接电缆连接 时需要。需要以管理员身份启动。
    /REMOVEDRIVER (仅对Windows NT/2000) 删除/INSTALLDRIVER安装的并口驱动。
    以上参数不区分大小写。
    示例:
     
    totalcmd.exe c:\windows 左侧窗口打开 c:\windows
    totalcmd.exe d:\data c:\programs 左侧:d:\data,右侧: c:\programs
    totalcmd.exe /R=d:\data 右侧:d:\data
    totalcmd.exe "d:\Letters to Mr. Smith" 左侧:长文件名 -> 放在双引号中!
    totalcmd.exe /R="d:\Letters from Miller" 右侧窗口的文件夹名是长文件名
    totalcmd.exe c:\data\backup.zip 左侧窗口打开backup.zip
    totalcmd.exe /I=Miller.ini /F=MFtp.ini 使用Miller.ini代替wincmd.in i作为主配置文件,MFtp.ini作为FTP配置文件
    totalcmd.exe /O /L=c:\ /R="d:\doc" 激活已运行的Total Commander,设置左侧窗口的文件夹为c:\,右侧d:\doc
    totalcmd.exe /O /S /R=c:\somepath 在已运行的TC的目的窗口中打开c:\somepath。 解释: /S 令Total Commander把 /L 作为来源文件夹, /R 作为目标文件夹。
    totalcmd.exe /O /T /L=c:\somepath 在已运行的TC的左侧窗口中新开文件夹标签,打开c:\somepath。
    4/4/2008

    下载56上的视频

    56上的视频不少,  但如果碰上网速会比较慢的时候, 看几分钟就要缓冲一下,  或者有时看到好视频想收藏下来, 或者有些视频想转成MP3之类的话, 就需要把视频下下来, 但56上给的flash地址是不能直接下载下来的, 要经过地址转换, 转换的公式我是从alexx0007(http://hi.baidu.com/alex0007)那里查到的, 下载是从alexx0007那里拿来的一下例子:

    ---------------------------------------------------------------------------------------------------------------

    其核心技术是套用如下式子将Flash地址转换成可下载的地址:
    "http://" + host + "/flvdownload/" + pURL + "/" + sURL + "/" + user + "@56.com_56flv_" + URLid + ".flv"其中各参数可以在其"Flash地址"中找到。

    比如说要在56.com上下载“《太极宗师》片头主题歌”这段视频,打开视频所在页面http: //www.56.com/u76/v_MTM3OTUzODU.html,其Flash地址是http: //www.56.com/n_v42_/c8_/4_/28_/whgtjn_/zhajm_1178897611_946_/230857_/
    0_/13795385.swf 

    按照上述公式分析出该段视频的下载地址:
    http://c8.56.com/flvdownload/4/28/whgtjn@56.com_56flv_zhajm_1178897611_946.flv

    ---------------------------------------------------------------------------------------------------------------

    根据上面的转换规则, alexx0007也给出了一个AutoHotKey脚本来转换flash地址为下载地址, 但实际使用起来不太方便, 于是我对alexx0007的脚本进行修改, 使之更方便使用.

    修改后的AHK和EXE文件点这里下载

    使用方法:

    本程序会监视你的剪贴板, 如果里面的内容是可以被转换成可以下载的FLV文件的话, 本程序会把转换好的下载地址放入你的剪贴板中替换剪贴板中原来的flash地址
    使用方法如下:
    1. 直接运行56_down_url.exe, 会在系统托盘里有一个红色的56图标, 这表明程序已经开始运行了
    2. 到www.56.com上去打开你想要下载的视频
    3. 点击复制网页上面的flash地址(一般在视频播放窗口的下方), 这时这个flash地址会被放入你的剪贴板中
    4. 这时已经转换好的可以下载的FLV文件的URL已经在你的剪贴板中了, 用这个URL在迅雷或是flashget等下载工具中建立下载任务即可(建议打开下载工具的剪贴板监控功能, 用起来会更方便)

    如果你已经安装了AutoHotKey, 那么你可以直接运行56_down_url.ahk脚本(省的担心EXE文件有毒, 呵呵)   :)

    08年6月3日开始,56被禁一个月,之后再恢复运营后,上面这个脚本已经不管用了 :(

    另外,今天(2008年8月2日 14时54分27秒)才发现,现在的AVAST(4.8版,VPS文件是080801-0)竟然会把我这个脚本编译好的EXE文件当成病毒?!真是他奶奶的!