技术问题,(请不要灌水)

netmagic 2002-08-28 05:17:20
请各位高手,解答一下,谢谢!
1.如何用VB注册文件类型,即使用Windows默认以该程序打开某种类型的文件,是否调用API,有详细实例吗?
2.为什么我用VB写的一个(*.swf播放器)我按Shift后双击一个*.swf文件后,出现了"打开方式"对话框,选中了我的播放程序,程序是打开了,为什么不能播放,是否Widows要返回参数,如何实现,如何关联后,打开程序自动播放?有详细实例吗?

...全文
23 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyl910 2002-08-28
  • 打赏
  • 举报
回复
1.
http://www.csdn.net/expert/topic/629/629326.xml?temp=.1388666
http://www.csdn.net/expert/topic/524/524025.xml?temp=.8059198


2.

Command 函数


返回命令行的参数部分,该命令行用于装入 Microsoft Visual Basic 或 Visual Basic 开发的可执行程序。

语法

Command

说明

当从命令行装入 Visual Basic 时,/cmd 之后的命令行的任何部分作为命令行的参数传递给程序。下面的示例中,cmdlineargs 代表 Command 函数返回的参数信息。

VB /cmd cmdlineargs

对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,Command 返回出现在命令行中应用程序名之后的任何参数。例如:

MyApp cmdlineargs

想知道如何在正在使用的应用程序的用户界面中改变命令行参数,请搜寻关于“命令行参数”的帮助。


Command 函数示例
本示例在某个函数中用 Command 函数获得命令行参数,并将命令行参数以 Variant 类型之数组返回。

Function GetCommandLine(Optional MaxArgs)
'声明变量。
Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
'检查是否提供了 MaxArgs 参数。
If IsMissing(MaxArgs) Then MaxArgs = 10
' 使数组的大小合适。
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
'取得命令行参数。
CmdLine = Command()
CmdLnLen = Len(CmdLine)
'以一次一个字符的方式取出命令行参数。
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)
'检测是否为 space 或 tab。
If (C <> " " And C <> vbTab) Then
'若既不是 space 键,也不是 tab 键,
'则检测是否为参数内含之字符。
If Not InArg Then
'新的参数。
'检测参数是否过多。
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
'将字符连接到当前参数中。
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
'找到 space 或 tab。
'将 InArg 标志设置成 False。
InArg = False
End If
Next I
'调整数组大小使其刚好符合参数个数。
ReDim Preserve ArgArray(NumArgs)
'将数组返回。
GetCommandLine = ArgArray()
End Function
qbilbo 2002-08-28
  • 打赏
  • 举报
回复
1,用API对注册表进行操作,建立文件关联。
2,在你的程序中要用COMMAND返回命令行参数,返回的参数作为要打开的文件名。

具体代码就不贴了,你搜索一下有很多。
Pipi0714 2002-08-28
  • 打赏
  • 举报
回复
gz

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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