使用系統(tǒng)API函數(shù)ShellExecute實(shí)現(xiàn)打開文件。執(zhí)行后會調(diào)用與要打開文件擴(kuò)展名關(guān)聯(lián)的程序打開這個文件。

成都創(chuàng)新互聯(lián)公司是專業(yè)的雙流網(wǎng)站建設(shè)公司,雙流接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雙流網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Private?Declare?Function?ShellExecute?Lib?"shell32.dll"?Alias?"ShellExecuteA"?(ByVal?hwnd?As?Long,?ByVal?lpOperation?As?String,?ByVal?lpFile?As?String,?ByVal?lpParameters?As?String,?ByVal?lpDirectory?As?String,?ByVal?nShowCmd?As?Long)?As?Long
Private?Sub?Form_click()
ShellExecute(Me.hwnd,?"open",?"z:\test.txt",?"",?"",?1)
End?sub
函數(shù)參數(shù)及意義:
ShellExecute(
hWnd:?HWND;?{指定父窗口句柄}
Operation:?PChar;?{指定動作,?譬如:?open、runas、print、edit、explore、find[2]??}
FileName:?PChar;?{指定要打開的文件或程序}
Parameters:?PChar;?{給要打開的程序指定參數(shù);?如果打開的是文件這里應(yīng)該是?nil}
Directory:?PChar;?{缺省目錄}
ShowCmd:?Integer?{打開選項(xiàng)}
):?HINST;
ShowCmd?參數(shù)可選值:SW_HIDE?=?0;?{隱藏}
SW_SHOWNORMAL?=?1;?{用最近的大小和位置顯示,?激活}
SW_NORMAL?=?1;?{同?SW_SHOWNORMAL}
SW_SHOWMINIMIZED?=?2;?{最小化,?激活}
SW_SHOWMAXIMIZED?=?3;?{最大化,?激活}
SW_MAXIMIZE?=?3;?{同?SW_SHOWMAXIMIZED}
SW_SHOWNOACTIVATE?=?4;?{用最近的大小和位置顯示,?不激活}
SW_SHOW?=?5;?{同?SW_SHOWNORMAL}
SW_MINIMIZE?=?6;?{最小化,?不激活}
SW_SHOWMINNOACTIVE?=?7;?{同?SW_MINIMIZE}
SW_SHOWNA?=?8;?{同?SW_SHOWNOACTIVATE}
SW_RESTORE?=?9;?{同?SW_SHOWNORMAL}
SW_SHOWDEFAULT?=?10;?{同?SW_SHOWNORMAL}
SW_MAX?=?10;?{同?SW_SHOWNORMAL}
WIN8系統(tǒng)調(diào)用此函數(shù)打開文件無效。
1 使用Shell函數(shù)直接調(diào)用
語法:Shell (pathname[,windowstyle]).Pathname是指要執(zhí)行的程序的名字和任何必須的參數(shù)或命令行開關(guān),可以包括目錄和驅(qū)動器名;Windowstyle是執(zhí)行程序的窗口風(fēng)格的數(shù)字。
使用Shell調(diào)用Word比較簡單,編程量小,但必須明確指定Word所在路徑,這不利于移植,而且,不能對Word進(jìn)行控制,不利于程序和Word之間的數(shù)據(jù)交換。
2 使用OLE自動化控制Microsoft Word
2.1 使用方法
(1)Word為OLE自動化提供一種稱為“Basic”的對象,要在VB中控制Word ,首先要定義一個引用Word中“Basic”對象的對象變量:Dim Wordobj as Object
(2)將Word 中的“Basic”對象賦給該對象:Set Wordobj=CreateObject("Word.Basic")
(3)可以使用大多數(shù)WordBasic語句和函數(shù)控制Word或Word文檔,使用方法和在Word宏中使用WordBasic指令的方法基本相同。
(4)關(guān)閉Word:Set Wordobj =Nothing。
注意:“Basic”對象不支持關(guān)閉它自己的一個方法。即若在OLE自動化中關(guān)閉了Word,則對象被置為Nothing,便不能再對對象進(jìn)行操作,程序出錯。
2.2 VB指令與WordBasic指令的差異
(1)有一些語句和函數(shù)不能使用,包括:控制結(jié)構(gòu),如While…Wend和If…Then…Else;聲明語句,如Dim;定制對話框相關(guān)的語句:FileExit語句;要求數(shù)組變量作為參數(shù)的語句或函數(shù)。
(2)也有一些指令使用方法不同。①返回字符串以一個美元符($)結(jié)束的WordBasic函數(shù)的關(guān)鍵字必須括在方括號中。例如,在WordBasic宏中的GetBookmark$()語句:mark$=GetBookmark$("Address"),若用VB調(diào)用,必須這樣寫mark$=Wordobj.[Ge-tBookmark$]("Address")。②選擇一個命令按鈕用“True”,不選擇用“False”
2.3 對OLE自動化的說明
Word可以為OLE自動化給另一個應(yīng)用提供對象,但是它不能使用OLE自動化訪問其它應(yīng)用中的對象。例如:VB和Excel可以使用OLE自動化訪問Word,但是Word不能使用OLE自動化訪問它們。
3 在包容器中嵌入Word對象
在VB中,要訪問在包容器中嵌入的Word對象,首先要在項(xiàng)目中插入對象。做法如下:在窗體中插入OLE控件,對象類型選擇“MicrosoftWord圖片”或“Microsoft Word文檔”,再按“確定”。
然后用Object屬性訪問文檔或圖片,并使用WordBasic語句和函數(shù)作用于它。嵌入的對象必須在可被訪問之前被激活,可以使用Action屬性激活OLE控件。例如,使用下面指令訪問一個嵌入在稱為OLE1的OLE控件中的文檔:
Dim Wordobj as Object
OLE1.Action =7
Set Wordobj =OLE1.Object.Application. WordBasic
其他方面,使用方法同OLE自動化。使用在包容器中嵌入的Word對象,Word顯示的窗口大小、位置與OLE控件定義的大小、位置相同,而且工具欄顯示位置與Word脫離。這一點(diǎn)與OLE自動化相比,是個不足。
總之,要想在Microsoft Visual Basic中控制Microsoft Word,最好使用OLE自動化,通過使用WordBasic指令對Word進(jìn)行全面控制,而且,用戶使用起來與使用Microsoft Word一樣,非常方便。
用shell函數(shù),具體: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Shell("你的QQ路徑") End Sub End Class 默認(rèn)的QQ路徑是C:\Program Files\Tencent\QQ\bin\QQ.exe
名稱欄目:vb.net打開文件函數(shù) vb打開文件
網(wǎng)站鏈接:http://chinadenli.net/article44/dodjghe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄、移動網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、虛擬主機(jī)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)