自定義文件類型以及參數傳遞的實現(VB.NET)
2024-07-10 13:00:50
供稿:網友
自定義文件類型以及參數傳遞的實現(vb.net)
作者:wgscd
請尊重著作權
網上很多人問關于自定義文件類型以及參數傳遞的問題,在.net里
自定義文件類型很好實現,一個簡單的方法就是在vs的安裝發布向導---打包
里自定義文件類型,這個就不用說了,你簡單設置一下就ok了(不要說你不會哦?。?br>接下來就是個參數傳遞的問題使許多人煩惱了(我就被煩過)。
話不多說,如下
在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()
來檢測和保存打開程序傳進來的參數。
菜鳥學堂: