寫(xiě)了一個(gè)vb的程序,,用來(lái)把原來(lái)寫(xiě)的幾個(gè)vb和vc的程序整合起來(lái),。就是使用Shell函數(shù),。結(jié)果發(fā)現(xiàn),,vc的程序可以很好的顯示,,但vb寫(xiě)的卻一運(yùn)行就最小化了。仔細(xì)查看了一下以下文章,,才發(fā)現(xiàn)原來(lái)shell函數(shù)的默認(rèn)顯示模式是windowstyle是等于vbMinimizedFocus,。然后就是直接加上一個(gè)vbNormalFocus。一切ok!
vb的shell函數(shù)用法:
功能:執(zhí)行一個(gè)可執(zhí)行文件,,返回一個(gè) Variant (Double),,如果成功的話,代表這個(gè)程序的任務(wù) ID,,若不成功,,則會(huì)返回 0。
語(yǔ)法:Shell(pathname[,windowstyle])
Shell 函數(shù)的語(yǔ)法含有下面這些命名參數(shù):
pathname 必要參數(shù),。Variant (String),,要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,,以及驅(qū)動(dòng)器,。
Windowstyle 可選參數(shù)。Variant (Integer),,表示在程序運(yùn)行時(shí)窗口的樣式,。如果 windowstyle 省略,則程序是以具有焦點(diǎn)的最小化窗口來(lái)執(zhí)行的,。
shellExecute函數(shù): 其用法較為復(fù)雜,,但是功能更加強(qiáng)大。
HINSTANCE ShellExecute( HWND hwnd, '父窗口句柄 LPCTSTR lpOperation, '操作或打開(kāi)方式 "edit","explore","open","find","print","NULL" LPCTSTR lpFile, '文件名,前面可加路徑 LPCTSTR lpParameters, '參數(shù) LPCTSTR lpDirectory, '默認(rèn)文件夾 INT nShowCmd '顯示方式 );
ShellExecute的功能是運(yùn)行一個(gè)外部程序
(或者是打開(kāi)一個(gè)已注冊(cè)的文件,、打開(kāi)一個(gè)目錄,、打印一個(gè)文件等等),
并對(duì)外部程序有一定的控制,。shell函數(shù)在這個(gè)方面先相對(duì)較弱,,
在大多數(shù)情況下ShellExecute是更多的被使用的, lR = ShellExecute(Me.hWnd, "Open", sFile, "", "", vbNormalFocus) If (lR < 0) Or (lR > 32) Then ' 成功 Else MsgBox "無(wú)法打開(kāi) '" & sFile & "'", vbInformation End If
附: 本函數(shù)還可以用來(lái)連接到網(wǎng)頁(yè),,照下面寫(xiě)就行了: ShellExecute 0&, vbNullString, "http://coolbasic.yeah.net", vbNullString, vbNullString, vbNormalFocus
或者這樣寫(xiě)來(lái)發(fā)送Email: ShellExecute me.hwnd, "open", "mailto:[email protected]", vbNullString, vbNullString, SW_SHOW
另外有ShellExecute的替代用法,,更加簡(jiǎn)單實(shí)用,不用API,,一句Shell搞定,!
連接到網(wǎng)頁(yè): Shell "rundll32.exe url.dll,FileProtocolHandler http://www.online." 打開(kāi)文件: Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "SHELLTST.TXT"
|