首页 > 编程 > .NET > 正文

自定义文件类型以及参数传递的实现(VB.NET)

2024-07-10 13:00:50
字体:
来源:转载
供稿:网友
自定义文件类型以及参数传递的实现(vb.net)
作者:wgscd
请尊重著作权

网上很多人问关于自定义文件类型以及参数传递的问题,在.net里
自定义文件类型很好实现,一个简单的方法就是在vs的安装发布向导---打包
里自定义文件类型,这个就不用说了,你简单设置一下就ok了(不要说你不会哦!)
接下来就是个参数传递的问题使许多人烦恼了(我就被烦过)。
话不多说,如下
在vb6.0里要获取打开程序的参数可以使用command()。
具体例子:
 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

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

在vb.net里呢?其实差不多,只不过要用system.environment.getcommandlineargs。

具体例子:

sub main1() '检测传进来的参数

dim cmds as string()
cmds = system.environment.getcommandlineargs


if cmds.length > 0 then
dim i as integer
for i = 0 to cmds.length - 1

if cmds(i).tostring like "*.abc" then '其中abc为你自定义文件的扩展名
cmd = cmds(i).tostring
iscaseurl = true

end if
next

end if
end sub


dim cmd as string="" '用来保存传入的参数
dim iscaseurl as boolean= false'判断是否是你需要的参数

private sub form1_load(byval sender as system.object, byval e as system.eventargs)

handles mybase.load

main1() '检测参数

if iscaseurl = false then'不是你需要的参数

'do your 。。。。。。。。。。。。。

else'是需要处理的参数

'这里添加处理的代码,cmd 就是你要的参数

msgbox("这里添加处理的代码,cmd 就是你要的参数")

iscaseurl = false


end if


catch ex as exception

msgbox("erro")

end try

end sub


当然如果你需要的话可以在 initializecomponent() 调用之后调用main1()
来检测和保存打开程序传进来的参数。



菜鸟学堂:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表