VBS中如何产生和双击文件一模一样的效果

cyy_041 2008-11-25 10:50:05
---------------------------------------------------------------------
双击的时候:如果是未知类型的文件,会跳出“请选择打开方式“对话框
---------------------------------------------------------------------
用objWShell.Run "rundll32.exe url.dll" & ",FileProtocolHandler " & file, 1, False,如果是未知类型的文件,没反应。
---------------------------------------------------------------------
请高手检验一下,在D:盘新建一个 1.abc,然后
执行 objWShell.Run "rundll32.exe url.dll" & ",FileProtocolHandler " & "d:\1.abc", 1, False 没反应。而双击就不同,会跳出“请选择打开方式“对话框。在一个涉及到文件管理程序中用到,很是令我头疼,请赐教,谢谢了。
...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Microogle 2008-11-30
  • 打赏
  • 举报
回复

Set oShell = CreateObject("Shell.Application")
Set oDir = oShell.NameSpace("d:\")
oDir.Items.Item("test.xxx").Verbs.Item(0).DoIt


Microogle 2008-11-30
  • 打赏
  • 举报
回复
假定在桌面上存在Test.xxx:

Set oShell = CreateObject("Shell.Application")
Set oDir = oShell.NameSpace(0)
For Each x In oDir.Items
if "test.xxx" = LCase(x.Name) Then Set oFile = x
Next
oFile.Verbs.Item(0).DoIt
blackfire9 2008-11-30
  • 打赏
  • 举报
回复
有三个方法解决你的问题:
1,通过文件扩展名检查注册表,如果没有关联程序则调用“打开方式”对话框
2,在.RUN前先On Error Resume Next 然后捕捉 Err 对象的 Number 属性代码,如果是无关联错误就调用“打开方式”对话框。
3,呵呵,最简单的方法:objWShell.Run "cmd /c d:\1.abc",0,true
cyy_041 2008-11-25
  • 打赏
  • 举报
回复
1楼能具体说一下吗?mark是怎么回事
android2008 2008-11-25
  • 打赏
  • 举报
回复
mark
cyy_041 2008-11-25
  • 打赏
  • 举报
回复
回5楼
是的,首先打开文件,如果是没有注册默认打开方式的文件时弹出打开方式对话框。
难点是打开文件时如何判断有没有注册默认打开方式。
如何弹出打开方式对话框我已知道。rundll32.exe shell32.dll OpenAs_RunDLL "file"

pzhuyy 2008-11-25
  • 打赏
  • 举报
回复
一般会提示80070483错误!

没有应用程序与此操作的指定文件有关联

你如果要用打开方式的话,你可以把这些个未指定关联的后缀名全部在注册表中与你想选择的打开方式关联起来:)
pzhuyy 2008-11-25
  • 打赏
  • 举报
回复
你是想实现用vbs运行没有注册默认打开方式的文件时弹出打开方式对话框?
cyy_041 2008-11-25
  • 打赏
  • 举报
回复
在本论坛中有类似的问题,参照http://topic.csdn.net/t/20050114/17/3726738.html
但上面这个问题是用VB解决的,我现在在VBS中有同样的问题,在VBS中应该如何解决
Dogfish 2008-11-25
  • 打赏
  • 举报
回复
题目不是很明白。

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧