VB外部程式呼叫變數,vb如何在另乙個視窗呼叫變數

2022-04-13 07:05:04 字數 5956 閱讀 7946

1樓:

方法一可以考慮批處理

建立乙個檔案 比如 d:\1.bat

把文字框中的內容寫入到d:\1.bat

比如: ping 192.168.

0.1 -tprivate 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 command2_click()i = shellexecute(0, "open", "d:\1.bat", "", "", 1)

end sub

方法二private sub command2_click()shell "cmd.exe /c " & text1.text, vbhide

end sub

2樓:

shell "cmd.exe /c " & text1.text

shell 語句可以用來 呼叫程式,

需要程式開啟什麼東西,就在程式路徑後面 空格,加檔案路徑

3樓:匿名使用者

在cmd命令下直接使用 text1(文字框名稱).text 就可以

或者在cmd下定義乙個變數 x,令 x=text1.text。然後對x進行操作

4樓:

二樓的方法可以實現,但是命令執行完cmd會自動關閉,而且開始執行時cmd是最小化的,這樣看不到效果。 修改以下**,這樣子完美實現 shell "cmd /k " & text1.text, vbnormalfocus

5樓:

框中數不是text屬性嗎,直接用text1就行了,還是我沒看懂?

vb如何在另乙個視窗呼叫變數

6樓:匿名使用者

只要在乙個窗體正確宣告變數為公共變數,其它窗體是能呼叫該變數。

'form1 coad

option explicit

public ab as long

private sub command1_click()ab = 123456

form2.show

end sub

'form2 coad

option explicit

private sub form_load()text1 = form1.ab

end sub

7樓:匿名使用者

在窗體form1**視窗的最上面宣告

public n as 資料型別

在其它窗體使用它:form1.n

關於vb怎麼呼叫外部exe後的引數

8樓:匿名使用者

簡單情況:

'shell "程式全路徑 引數"

示例:shell "c:\123\456.exe -789"

複雜情況:

可以使用shellexecute這個api函式:

shellexecute(

hwnd hwnd, //父視窗控制代碼

lpcstr lpoperation, //操作型別

lpcstr lpfile, //要進行操作的檔案或路徑

lpcstr lpparameters, //當lpoperation為「explore」時指定要傳遞的引數,通常設為null

lpcstr lpdirectory, //指定預設目錄,通常設為null

int nshowcmd //檔案開啟的方式,以通常方式還是最大化或最小化顯示

) 用法:

新建乙個視窗,放入乙個command按鈕,複製下面**到**視窗中,其中:f:\遊戲\cs1.

6中文版\cstrike.exe為遊戲路徑。後邊的那個為引數 -console 。

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 command1_click()

shellexecute me.hwnd, "open", "f:\遊戲\cs1.6中文版\cstrike.exe", "-console", "", 1

end sub

9樓:雨水沉沒

如果你是 要執行1.exe,然後帶個引數的話,使用shellexcute 函式:

shellexecute null,"open","1.exe",null,null,sw_shownormal

如果是在1.exe中想要獲取引數的話,在1.exe的submain裡提取command() 獲得的就是執行引數

如果還有其他,麻煩說的明白點

10樓:匿名使用者

dim ml

ml = "1.exe" & "connect" & varshell ml

就可以了

11樓:noon深海

我女朋友就是學計數機的。但是我不知道。。。。

如何用vb呼叫乙個外部exe程式

12樓:biubiu哩

使用shell函式函式。

shell函式是vb中的內部函式,它負責執行乙個可執行檔案,返回乙個variant(double),如果成功的話,代表這個程式的程序id,若不成功,則會返回0。

shell的語法:shell(pathname[,windowstyle])。

pathname 為必需引數。型別為string,它指出了要執行的程式名,以及任何需要的引數或命令列變數,也可以包括路徑名。

windowstyle為可選引數。integer型別,指定在程式執行時視窗的樣式。windowstyle有以下這些值。

示例,開啟當前程式所在目錄下的temp.exe檔案:

dim a as integer

vb怎樣呼叫其他窗體過程函式和變數,不是模組

13樓:

其他窗體過程函式和變數必須要public,然後窗體名.過程名 或 窗體名.變數名就可以呼叫

14樓:匿名使用者

被呼叫的過程函式和變數必須是public定義的(就像模組一樣)呼叫時先寫窗體名,如:

窗體名是form1,用public定義的過程函式和變數分別是:

public x as long

public sub f1()

public function func2() as long則在模組和其它窗體中引用上述定義時:

msgbox form1.x

call form1.f1()

n=func2()

15樓:

窗體名.過程名

窗體名.變數名

窗體名.函式名

不過還是建議你將重複使用的功能寫成乙個函式或過程放在標準模組中

16樓:匿名使用者

窗體名.函式名或者變數名

17樓:

在窗體1中使用窗體2.函式名

如:private sub form_load() 'form1中

form2.text1.text="1"

end sub

18樓:匿名使用者

呼叫名=窗體.函式或窗體.變數

19樓:匿名使用者

dim abc as new 其他窗體

abc.過程函式

20樓:匿名使用者

在vb程式內部 執行dim 其他視窗即可

vb中如何跨視窗呼叫變數

21樓:擁抱的力量

你好,建議你插入乙個模組(module),然後在模組中宣告你的全域性變數

例如在module1中做如下宣告

public version as string'而賦值過程可以在你的窗體**中進行,例如private sub form_load()version = "3.1 beta"

end sub

***************===分隔線********************===

如果你一定要在窗體2中呼叫窗體1的變數,則需要在窗體1將其宣告為全域性變數:

public test as string但是這樣做並不會對這個變數賦值

引用方式是:

msgbox form1.test

可以看到彈出內容為空

22樓:

主要有三種辦法:

1、模組裡的公共變數

新增乙個模組module,在模組裡宣告變數。

public formvaluea as long

你可以在任何窗體裡直接用formvaluea呼叫它。

但這個辦法最不可靠,只適合在一些非常簡單的小程式裡使用。

因為這種變數任何窗體、模組都可以改變它的值。如果你在其他的窗體、模組意外地改變了它的值,或者是在不恰當的時機改變它的值,很容易造成程式錯誤。

2、公共變數

假如有個窗體叫form1,在窗體裡宣告乙個公共變數formvalueb。

public formvalueb as long

那麼你在其他窗體裡可以用form1.formvalueb呼叫它。

這個辦法也不可靠,在一些正規程式設計裡應該被避免使用。

因為任何乙個外部的過程都有可能改變這個值,也容易出現混亂。

但它至少比第一種好一些。

3、給窗體新增屬性

假如有個窗體叫form2,在窗體裡宣告乙個屬性formvaluec。

在窗體裡宣告乙個私有變數formvalued。

private formvalued as long

public property get formvaluec() as long

'輸出屬性值

formvaluec = formvalued

end property

public property let formvaluec(byval vnewvalue as long)

'輸入屬性值

formvalued = vnewvalue

end property

你在其他窗體裡可以用form2.formvaluec呼叫它。

在form2窗體裡,這個屬性的值實際儲存在formvalued變數裡。

這個辦法最複雜,但這是比較正規的做法。

你可以在輸入、輸出過程中對變數進行一些檢測、判斷,這樣可以避免外界的呼叫對這個窗體造成干擾。

屬性的值有時候未必在窗體裡是乙個變數。

比如:你寫乙個登記個人資訊的窗體。假如輸入了身份證號碼,那麼生日屬性可以從身份證號碼裡提取。這樣,生日屬性就不必有個專門的變數儲存,類似這樣。

public property get birthday() as long

'輸出屬性值

……從身份證號碼提取生日……

birthday = 被提取出來的生日

end property

表面上看,你呼叫了form3.birthday好像從變數賦值一樣獲得生日。但實際上這個屬性的值是屬性的過程算出來的。

vb簡單替換程式,vb 變數替換怎麼換的?

lz問的是浮點型轉換為整型吧。cint 設,你有乙個輸入框text1,輸入文字有你上邊的那些例子,型別,然後有乙個按鈕command1,點選後可以將text1中的文字替換掉,例如將 替換成 10 則 為 private sub command1 click if right left 3 1 the...

VB如何在操作網頁,VB如何在操作網頁?

dim vdoc,vtag as objectdim i as integer set vdoc webbrowser1.documentfor i 0 to vdoc.all.length 1if ucase vdoc.all i tagname 這裡寫你輸入口的標籤 then set vtag ...

如何在picture裡畫正方形的vb程式

option explicit private ax,ay as integer private sub form load me.autoredraw true me.scalemode 3 shape1.visible false end sub private sub form mousedo...