如何使VB用shell執行乙個程式後等執行的程式先退出後自己再退出?

時間 2025-04-27 09:55:07

1樓:網友

用findwindow函式,若返回的視窗控制代碼不為零,則等待,若為零,則終止程式。

宣告private declare function findwindow lib "user32" alias "findwindowa" (byval lpclassname as string, byval lpwindowname as string) as long

引數 ,型別及說明。

lpclassname string,指向包含了視窗類名的空中止(c語言)字串的指標;或設為零,表示接收任何類。

lpwindowname string,指向包含了視窗文字(或標籤)的空中止(c語言)字串的指標;或設為零,表示接收任何視窗標題。

vb如何用shell函式再執行乙個程式?

2樓:甲妞威驪蓉

你是在excel裡用vba程式設計的吧。

shell方法的一般用法是:shell

程式的路徑",[windowstyle]。關於[windowstyle]的型別你在vba裡用f1查一下。

示例:shell

這裡記事本用的是系統路徑,所以不用寫全路徑)注意:這個地方是程式的路徑而不是檔案的路徑。如果是開啟程式用shell是沒有問題的。

但是假如你想開啟乙個非excel的檔案,比如有乙個存在c盤上的ppt檔案叫my_,用shell

c:\",1,肯定出錯。

要用shell開啟其他型別的檔案,在shell裡用cmd這個命令解釋工具。

具體語法是:shell

cmdcc:\my_",1

c絕對不能少,不然看不到效果,至於原因去cmd下help一下)。

請問,vb 呼叫shell外部程式後,程式怎樣暫停等待外部程式處理完後,自建程式才繼續執行

3樓:網友

on error resume next

dim wsh as object

dim re as integer

set wsh = createobject("")re = "", 1, true)

wshshell方法如下………

strcommand, [intwindowstyle], blnwaitonreturn])

blnwaitonreturn為布林值,就是等待,加了這個就有返回碼……

但是如果被強制關閉將溢位……

4樓:玫瑰為你盛開

呼叫api函式:

private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)

並結合doevents

比如(等待秒):

sleep 100

doevents

蘋果手機如何保持某個程式在後臺執行不退出?

5樓:子夜歌

蘋果手機是不能保持不退出的。因為ios系統是假後臺。

2.假後臺是指讓後臺程式不使用cpu,將要後臺的程式的資料記錄下來,然後關閉,當重新開啟時候,會將後臺之前的記錄調出來,恢復,這樣就會在後臺是不佔用cpu,加快系統流暢性。

6樓:魯新梅渾壽

蘋果手機關閉後臺應用:1、雙擊home鍵,可開啟多工處理介面,向上滑動可以關閉後臺應用。2、單擊「螢幕小圓點」,雙擊「主螢幕」圖示,可開啟多工處理介面,向上滑動可關閉後臺應用。

3、單擊「螢幕小圓點」,單擊「多工」圖示,可開啟多工處理介面,向上滑動可關閉後臺應用。

如何使得vb shell函式內的程式執行完後再執行下一行?

7樓:網友

先謝過樓上的朋友,請問是不是把。

public function shell(byval pathname as string, optional byval style as appwinstyle = , optional byval wait as boolean = false, optional byval timeout as integer = 1) as integer

public換成private? 如果是,我試了,還是不是行哦。

依然提示錯誤:

編譯錯誤:使用者定義型別未定義?

8樓:網友

你吧最上面的public換成private

程式打不開,後臺執行一會自動退出

9樓:小公尺

更詳細的描述問題有助於網友理解你遇到的麻煩,幫助你更準確的解決問題。謝謝你支援小公尺手機!

10樓:其儉義酉

是這樣的,後臺能力不行。你手機應該是安卓機吧。後臺執行的程式過多時,系統會自動關閉一些程式,否則手機會變得很卡。

vb中shell使批處理完成後再執行後續指令

11樓:我是雨之痕

我也不太明白,不過我有些思路,就是說呢,用乙個timer來監視一些,你批處理裡最後的乙個改動,比如說,修改乙個檔案的名字,在你按按鈕的同時,開動時鐘控制項,然後,msgbox "清理完成!"

放在timer1裡,這樣就ok了,不知這樣的思路行不行,如果是我,就這樣辦,也許有更好的辦法 思路有了,你可以自己找一下相關的**,主要是查檔名的**。

對了,忘了,在時鐘控制項生效前一定要讓要改的那個檔名復位,這樣不至於出錯,我想你也能想到,但我還是想補充一下。

12樓:網友

'這樣就可以滿足你的要求:

private sub command1_click()open "c:\" for output as #1print #1, "@echo off"

print #1, "echo 測試完畢"

print #1, "echo. &pause "

close #

dim wshshell

set wshshell = createobject("")'建立指令碼物件。

c:\"set wshshell = nothing'釋放記憶體msgbox "清理完成!"

end sub

13樓:網友

shell函式有一定執行時間,這樣修改:

option explicit

private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)

private sub command1_click()open "c:\" for output as #1print #1, "@echo off"

print #1, "echo 測試完畢"

print #1, "echo. &pause "

close #

shell "c:\", vbnormalfocussleep 500 '按實際情況設定時間,單位是毫秒msgbox "清理完成!"

end sub

vb中用shell開啟乙個執行程式怎麼是最小化的?

14樓:孤單v小熊

用shell("c:\aaaa\",1)

shell函式的引數如下:

預設情況下,就會出現你說的那樣。

vbhide 0 視窗被隱藏,且焦點會移到隱式視窗。

vbnormalfocus 1 視窗具有焦點,且會還原到它原來的大小和位置。

vbminimizedfocus 2 視窗會以乙個具有焦點的圖示來顯示。

vbmaximizedfocus 3 視窗是乙個具有焦點的最大化視窗。

vbnormalnofocus 4 視窗會被還原到最近使用的大小和位置,而當前活動的視窗仍然保持活動。

vbminimizednofocus 6 視窗會以乙個圖示來顯示。而當前活動的的視窗仍然保持活動。

VB如何執行程式就建立乙個本程式的快捷方式!

第乙個問題比較簡單,找到程式目錄中的程式,右擊,點選 傳送到桌面快捷方式 即可。 第二個問題你可以自己vb檔案,其實非常簡單 private sub form load shell end sub 儲存為然後在的private sub form load 事件中進行判斷是否執行即可。在你儲存當前專案...

如何編寫shell指令碼,如何編寫一個shell指令碼

新建一個檔案shell指令碼一般用 sh作為字尾當然勇氣他的也可以。開啟終端輸入touch first.sh 新建一個名為first的shell指令碼。編寫一個簡單的linuxshell指令碼 使用vim 編輯first.sh也可以用其他的文字編輯器,推薦使用vim 使用命令 vim first.s...

VB寫按照日期執行的程式,VB寫一個按照日期執行的程式

思路是這樣的 1.每天都開機執行一下 2.執行過程中,首先判斷今天是不是2009.3.123.如果是,繼續執行 4.如果不是,就推出程式 以下 能夠實現 private declare function setwindowpos lib user32 byval hwnd as long,byval...