導航:首頁 > 程序命令 > vb命令行編譯

vb命令行編譯

發布時間:2023-01-07 14:41:00

A. 如何在命令編譯vb文件

先用 cd 命令轉到 vb6.0 的安裝目錄,然後輸入 vb6 /make vbp文件全路徑 ( /make 可簡寫為 /m ,如果文件名含空格,文件名要加引號) 就編譯成exe ,exe文件默認與vbp文件同目錄同名(擴展名不同),如果要修改編譯生成的默認exe文件名,

B. VB程序怎麼處理命令行參數

PrivateSubForm_Load()
DimAAsString
A=Command
SelectCaseUCase$(A)
Case"INSTALL"
MsgBox"進入安裝模式",vbInformation,"命令行測試"
Me.Caption="安裝模式"
Case"UNINSTALL"
MsgBox"進入卸載模式",vbInformation,"命令行測試"
Me.Caption="卸載模式"
CaseElse
MsgBoxA,vbInformation,"命令行測試"
EndSelect
EndSub

'比如將編譯好的程序Test.exe放入D盤根目錄下,然後啟動命令提示符,將目錄切換到D盤根目錄,然後輸入「Testinstall」則會自動彈出消息框。

C. VB中的"命令行參數"怎麼用

給你做個簡單的介紹吧,先做下面的
'添加窗體Form1,然後添加如下代碼:
"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
PrivateSubForm_Load()
SelectCaseLeft(Command,2)
Case"/o"'表示open,打開光碟機
mciSendString"SetCDAudioDoorOpenWait",0&,0&,0&
Case"/c"'表示close,關閉光碟機
mciSendString"SetCDAudioDoorClosedWait",0&,0&,0&
EndSelect
UnloadMe
EndSub

將上面的編譯成test.exe,放到c:\下,然後打開命令提示符窗口,敲入c:\test.exe /o看看,是不是打開光碟機了?再試試c:\test.exe /c

D. VB 可以編寫命令行程序么

vb程序是不可能在dos中進行調用的,不過可以在「運行」中調用,程序編寫方法正如一樓寫的一樣。在form_load中用一個字元串型變數接收command(),再根據接收的字元進行相應的處理。

E. vb6怎麼在代碼中執行編譯命令

你說的有點像外*掛中間的腳本,可以讓使用者自己編寫一段代碼,程序可以執行。

但是編譯成exe就不現實了,只要能執行腳本不就行了嗎?

VB語言可以實現這一功能,VB利用Microsoft Script Control對象可以動態執行(即無需事先編譯成EXE)VBS指令,代碼如下:

窗體放一個多行文本框和一個按鈕。

PrivateSubCommand1_Click()
DimScriptControlAsObject,Psw$
SetScriptControl=CreateObject("MSScriptControl.ScriptControl")
ScriptControl.Language="VBScript"
ScriptControl.Timeout=-1
ScriptControl.AddCodeText1.Text
Psw=ScriptControl.Run("encodePwd")
MsgBoxPsw
EndSub

PrivateSubForm_Load()
Text1.Text="FunctionencodePwd()"&vbCrLf&_
"encodePwd=""這是返回字元串"""&vbCrLf&_
"EndFunction"
EndSub

F. vb怎麼做個vb編譯器

如果你要自己做程序編譯的話很難,就算調用c2.exe和link.exe也沒用,因為VB

在調用之前已經在臨時目錄下生成了一堆看不懂的東西。

但你可以調用VB主程序的命令行來生成程序,如你要生成的程序在D盤根目錄,工程文件為

1.vbp那你可以在CMD里打VB6.exe /make D:\1.vbp

具體的可以參照VB6.exe /?

附:

VB的編譯過程大致如下,當我們在編輯環境中編寫完代碼後,VB調用C2將所有的模塊(包括CLASS)編譯成OBJ文件(能夠為機器語言識別的代碼)。一下是C2的一些編譯參數說明(E文):

- the the name of the prefixed one used for the names of the rowscontaining ' precompilato', one

risen of intermediate tails (from which name of the switch) temporary; these rows are 5 and finish withi suffissi GL, SY, FORMER, IN and DB; they contained are not documented

- f the name of the rows to compile

- W3 warning level 3, level of ' attenzione' dedicating to i warnings

- Gy it qualifies the connection to level of function (function-level linking)

- G5 optimization for the Pentium

- Gs4096 it allows not to insert the code for the control of stack (stack probe) if a function does not

use more than 4096 byte of stack

- dos not documented

- Z1 it removes the name of the bookcase of default from the rows.OBJ

- Fofileobj the name of rows OBJ to generate (rows output)

- Qifdiv it puts in action the corrections for the bug of the division of the Pentium (FDIV bug)

- MILILITER it creates rows eseguibile single-threaded

- basic it indicates the compiler C2 the fact that the compilation it happens for a plan basic

C2完成編譯後,VB會調用LINK.EXE將所有的OBJ文件連接成EXE文件,完成編譯過程。下面是一段命令行演示如何調用LINK.EXE:

LINK C:\Test\Form1.obj C:\Test\Molo1.obj C:\Test\Progetto1.obj C:\Programmi\Microsoft Visual Studio\VB98\VBAEXE6.lib /ENTRY:__ vbaS /OUT:C:\Test\Progetto1.exe /BASE:0x400000 /SUBSYSTEM:WINDOWS, 4.0 /VERSION:1.0 /DEBUG /DEBUGTYPE:CV /INCREMENTAL:NOT /OPT:REF/MERGE:.rdata =.text /IGNORE:4078

對於我們來說這些參數沒有什麼意義,用默認的就行了。這段命令行中並沒有包括輸出函數,如果我們希望輸出函數,可以定義一個.def文件,按照格式加入要輸出的函數列表,然後在命令行後面加上 「/DEF: 文件名」(當然也可以直接加/ EXPORTS參數),再調用命令行編譯,用的denpendency工具查看你就會發現你要輸出的函數了。

Def文件格式的定義:

LIBRARY 程序名稱

DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"

EXPORTS

函數名= ?函數名@函數所在模塊名@@AAGXXZ



例:

LIBRARY MyDLL

DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"

EXPORTS

DllRegisterServer= ?DllRegisterServer@SymExp@@AAGXXZ

DllUnregisterServer= ?DllUnregisterServer@SymExp@@AAGXXZ

注意:函數名和模塊名是區分大小寫的

我先用Vb編一個截取C2、LINK命令的程序:

C2:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub

LINK:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub

生成EXE後把VB98下的c2與LINK剪切到別處,在用這兩個程序代替。運行VB6.exe,隨意打開一個工程,點文件菜單,生成EXE。
不久我編的兩個程序就送給我夢寐以求的文件:
E:\C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM" -W 3 -GY -G5 -GS4096 -DOS -ZL -FO"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" -QIFDIV -ML -BASIC

E:\LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB" /ENTRY:__VBAS /OUT:"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.EXE" /BASE:0X400000 /SUBS

這兩個TXT就是VB送給c2以及LINK的命令。
詳細解讀如下:
C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM"是c2准備處理的兩個文件。 -W 3 -GY -G5 -GS4096 -DOS -ZL是c2生成OBJ的格式,後邊則是OBJ文件的地址。

LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ"是源文件。"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB"是轉換庫。後面是EXE文件地址及格式

G. 在VB中,命令行參數和條件編譯參數是用來干什麼的

條件編譯是個不常用的功能,一般只會用在病毒和系統軟體的編寫中

他的功能是:如果滿足程序的條件,則將#if和#else之間的代碼編譯成可執行文件,如果不滿足,則編譯#else和#endif之間的代碼

這樣做的好處是:簡化了程序,使得生成的可執行文件更小,而且在病毒編寫中可以用這種方法來實現程序的變體

H. VB可以編寫軟體,那VB又是用什麼編寫出來的呢

首先概念要搞清楚,VB本身是一種程序設計語言,它並不是「用什麼編寫出來」的,而是通過人為制定的一些規則、語法等創建的一種語言,就好比現實中的語言,I am a student的意思是「我是個學生」,但如果你規定,xye是「我」,kj是「是」,ds是「一個」,sgtfk是「學生」,那麼xye kj ds sgtfk的意思也是「我是個學生」,這樣你也就創建了一種語言(當然實際上肯定復雜得多,這里是舉個例子)。
而你所說的「可以編寫軟體」的VB,實際上是指VB的IDE(即集成開發環境),是用於提供VB程序開發環境的應用軟體,裡麵包括了VB代碼編輯器、編譯器、調試器和圖形用戶界面等工具及功能。這個IDE應該是用C語言結合匯編語言做出來的,但這其實不重要,因為即使就用VB本身也能做出另一個全新的VB的IDE(不含編譯器)來你信不?
IDE並不是VB不可缺少的組成部分,不用IDE,直接用其他文本編輯器(比如記事本)也能編寫VB程序代碼(包括圖形界面)!當然只有真正的高手才會這么做。
編譯器才是VB最核心的部分,它可以把VB的源代碼編譯為exe可執行程序。編譯器毫無疑問肯定是用匯編語言做出來的,其他高級語言不可能設計出編譯器來,就像人不可能自己生出自己來一樣。編譯器是獨立於IDE的,你可以不用IDE,直接用命令行的方式來編譯VB程序。
也就是說,如果你是高高高高手,只需要記事本加上編譯器就可以開發VB軟體了。所以「VB是用什麼編寫出來的」這個問題真的不重要(我知道即使回答了你,你接下來會繼續問「編寫出VB的軟體又是用什麼編寫出來的?」)!

I. 在VB中,命令行參數和條件編譯參數是用來干什麼的

條件編譯
是個不常用的功能,一般只會用在病毒和系統軟體的編寫中
他的功能是:如果滿足程序的條件,則將#if和#else之間的代碼編譯成可執行文件,如果不滿足,則編譯#else和
#endif
之間的代碼
這樣做的好處是:簡化了程序,使得生成的可執行文件更小,而且在病毒編寫中可以用這種方法來實現程序的變體

J. VB 可以編寫命令行程序么

Shell"cmd/cdir>c:dir.txt",vbHide

'其中c:dir.txt的內容就是屏幕的輸出結果了,再打開分析就能做一些需要的工作。其它dos命令都可以照此辦理。

閱讀全文

與vb命令行編譯相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163