【已解决】如何获取鼠标点击的文件名?
本帖最后由 vigiles 于 2012-6-11 11:34 编辑在一个文件夹里放了很多swf的视频,都是比较早的,现在的flash 10打开不能正常播放。想转成exe文件,就不用每次右键从打开方式里选micmedia player 7了。三百多个,挨个“右键—〉打开方式—〉player 7—〉,然后文件—〉创建播放器”再打上名字,手都酸了。但是查看帮助,只有模拟鼠标操作的,和一个得到鼠标坐标的。
请大家指点下,怎么才能让我点一下就得到这个文件名? ......
右键---打开方式---选中“始终使用选择的程序打开这种文件”...选好Flash 10 之后---确定!...
以后就可以双击打开了.. 看明白我的问题行不 回复 3# vigiles
原理不是一样的吗? 你既然可以用 player 7 打开,还是一样的操作吧?... 尽管我是新手,但还是有种对牛弹琴的感觉…
我想知道如何使用autoit得到鼠标点击的文件名 回复 5# vigiles
在论坛里看过例子,但忘了在哪里了,你自己找找,有时间我也找找. 最易懂的方式,打开注册表,看下那个快捷方式对应的命令,提出来批量执行就行了 ;鉴于因flash版本的更新,不能正常运行旧版本swf文件
;特意编写这个小工具将较早版本的swf文件转为exe程序
;先准备个旧版flashplayer,我的是Micromedia Flash
;Player 7,将swf的打开方式设为它。然后随便打开一个
;,创建播放器,选择你的理想目录,回车。这样再次创建
;时就默认是这个目录了。接着将以下代码保存为au3文件
;放到swf目录的上一级,运行。一袋烟的功夫转换完成了
;完成后,再将swf打开方式设为adobe flash 10,删除旧
;版即可。
;-------------------------------------------------
;学思甚浅,天悯成果。菜鸟出品,大牛指正
;software:swf2exe author:vigiles
#include <File.au3>
#include <Array.au3>
;创建文本
$Log = _FileCreate(@ScriptDir & "\filelist.log")
;得到目录内的文件名列表(目录,过滤器,只返回文件)
Local $FileList = _FileListToArray(@ScriptDir & "\swf", "*", 1)
;将得到的文件列表写入文本(文本,数组内容,从数组的1索引开始,全部的,分隔符)
_FileWriteFromArray(@ScriptDir & "\filelist.log", $FileList, 1, 0, "|")
;得到文本行数,即文件个数(文件)
$Lines = _FileCountLines(@ScriptDir & "\filelist.log")
;循环(初始值,目标值,步进值)
For $i=1 To $Lines Step +1
;从文本读取文件名(文件,行号)
$FileLine = FileReadLine(@ScriptDir & "\filelist.log", $i)
;删除后缀(原文本,要替换的字符,目标字符)
$Str = StringReplace($FileLine, ".swf", "")
;更新文本(文件,行号,文本,覆盖)
_FileWriteToLine(@ScriptDir & "\filelist.log", $i, $Str, 1)
;运行目录内的文件(文件,文件目录)
;不能用ShellExecuteWait。好像没法用ProcessClose、WinClose、WinKill关闭。
ShellExecute(@ScriptDir & "\swf\" & $FileLine, @ScriptDir & "\swf")
;等待flash打开
;WinWait("Micromedia Flash Player 7");此句...没有达到理想效果
Sleep(500);把上一句换成这句效果不错。但不知为何好像必须有个延时
;获取进程ID
$ProID = ProcessExists("SAFlashPlayer.exe")
Sleep(10)
;保持激活状态
WinActivate("Micromedia Flash Player 7")
Sleep(10)
;ALT+f
Send("!f")
Sleep(10)
;r键
Send("r")
Sleep(10)
;文件名
Send($Str)
Sleep(1500)
;回车
Send("{ENTER}")
Sleep(1000)
;关闭
ProcessClose($ProID)
Next 用不到鼠标操作了。这个贴算是结了吧。
我用手机上网,所以没法设置语法着色什么的,有需要的凑合看下吧。请多担待! 回复 1# vigiles
如果只是为了正常观看这些 SWF文件,
我建议你用:
FileFindFirstFile 及 FileFindNextFile搜索该目录的 swf 文件,
然后 FileMove() 函数 给它们重命名别的后缀名, 比如 xxxx.fws
最后又回到 : 右键从打开方式里选 micmedia player 7
但记得把 '始终用选择的程序式打开此类文件'的选项勾上! 回复 5# vigiles
一定要鼠标点击的文件吗?不是所有的都要修改吗?那就用tab键来逐个选择文件好了。
页:
[1]