在VBA中,在調(diào)用控件前寫(xiě)入shell?+注冊(cè)控件語(yǔ)句。
為峰峰礦等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及峰峰礦網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站制作、峰峰礦網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
如果我理解正確的話(huà),有下列方法
方法一:在VBA模塊中加入Shell("regsvr32.exe /s " strSystemFolder "Winsock.ocx")?? 自己改一下變量。本人較早前用過(guò)的方法。
方法二:將所有注冊(cè)組件寫(xiě)進(jìn).bat批處理文件中,并加入開(kāi)機(jī)自動(dòng)運(yùn)行,或用shell去運(yùn)行.bat
方法三:微軟官方support
最后一段簡(jiǎn)單翻譯一下:RegComCtl32和UnRegComCtl32是用戶(hù)自定義名稱(chēng);例中組件是默認(rèn)在windows/system路徑下,如果不在該路徑下,請(qǐng)自己添加;DllRegisterServer注意字母大小寫(xiě)。
思路是:
讀取電腦硬件的信息,用隨機(jī)數(shù)加工這些信息后在注冊(cè)表中做個(gè)記錄,用這個(gè)記錄生成注冊(cè)碼送回給你,你按特定的方法生成序列號(hào),你的小程序收到序列號(hào)后還原成數(shù)據(jù),數(shù)據(jù)比較注冊(cè)表中的記錄,如果正確就加入第二部分注冊(cè)的信息完成注冊(cè).你的程序每次打開(kāi)時(shí),先比對(duì)硬件信息-第一注冊(cè)信息-第二注冊(cè)信息,看這三者是否統(tǒng)一,不統(tǒng)一的就是使用期軟件.
也可以省了第一注冊(cè)信息,直接發(fā)硬件信息給你生成序列號(hào),其他的相同.
的完整路徑寫(xiě)在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
就可以自啟動(dòng)了。
以下是我前一段時(shí)間寫(xiě)的防u盤(pán)自動(dòng)運(yùn)行的程序,里面可以找到如何操作注冊(cè)表。
Option Explicit
Global Const REG_SZ As Long = 1
Global Const REG_DWORD As Long = 4
Global Const HKEY_CLASSES_ROOT = H80000000
Global Const HKEY_CURRENT_USER = H80000001
Global Const HKEY_LOCAL_MACHINE = H80000002
Global Const HKEY_USERS = H80000003
Global Const ERROR_NONE = 0
Global Const ERROR_BADDB = 1
Global Const ERROR_BADKEY = 2
Global Const ERROR_CANTOPEN = 3
Global Const ERROR_CANTREAD = 4
Global Const ERROR_CANTWRITE = 5
Global Const ERROR_OUTOFMEMORY = 6
Global Const ERROR_INVALID_PARAMETER = 7
Global Const ERROR_ACCESS_DENIED = 8
Global Const ERROR_INVALID_PARAMETERS = 87
Global Const ERROR_NO_MORE_ITEMS = 259
Global Const KEY_ALL_ACCESS = H3F
Global Const REG_OPTION_NON_VOLATILE = 0
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hkey As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hkey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Private Sub cmdAbout_Click()
MsgBox "作者wolfccb不對(duì)本軟件可能造成的任何錯(cuò)誤或損失負(fù)責(zé),請(qǐng)自行承擔(dān)使用風(fēng)險(xiǎn)。", vbInformation, "About"
End Sub
Private Sub cmdDefault_Click()
Check0.Value = 1
Check1.Value = 0
Check2.Value = 1
Check3.Value = 0
Check4.Value = 1
Check5.Value = 0
Check6.Value = 0
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdRecommend_Click()
Check0.Value = 1
Check1.Value = 1
Check2.Value = 1
Check3.Value = 1
Check4.Value = 1
Check5.Value = 0
Check6.Value = 1
End Sub
Private Sub cmdSet_Click()
Dim hkey As Long
Dim lvalue As Long
Dim cddata As Long
Dim retval As Long
lvalue = GetValue
retval = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", 0, KEY_ALL_ACCESS, hkey)
retval = RegSetValueEx(hkey, "NoDriveTypeAutoRun", 0, REG_DWORD, lvalue, 4)
RegCloseKey hkey
If retval = 0 Then
MsgBox "設(shè)置已保存。", vbInformation, "提示"
Else
MsgBox "保存失敗,錯(cuò)誤代碼:" + CStr(retval), vbExclamation, "錯(cuò)誤"
End If
End Sub
Private Sub Form_Load()
Dim hkey As Long
Dim lvalue As Long
Dim cddata As Long
Dim retval As Long
retval = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", 0, KEY_ALL_ACCESS, hkey)
If retval 0 Then
MsgBox "打開(kāi)注冊(cè)表失敗,錯(cuò)誤代碼:" + CStr(retval), vbExclamation, "錯(cuò)誤"
End If
retval = RegQueryValueEx(hkey, "NoDriveTypeAutoRun", 0, REG_DWORD, lvalue, 4)
RegCloseKey hkey
If retval 0 Then
MsgBox "讀取注冊(cè)表失敗,錯(cuò)誤代碼:" + CStr(retval), vbExclamation, "錯(cuò)誤"
End If
ShowCheck (lvalue)
End Sub
Private Sub ShowCheck(lvalue As Long)
Check0.Value = lvalue Mod 2
lvalue = (lvalue - Check0.Value) / 2
Check1.Value = lvalue Mod 2
lvalue = (lvalue - Check1.Value) / 2
Check2.Value = lvalue Mod 2
lvalue = (lvalue - Check2.Value) / 2
Check3.Value = lvalue Mod 2
lvalue = (lvalue - Check3.Value) / 2
Check4.Value = lvalue Mod 2
lvalue = (lvalue - Check4.Value) / 2
Check5.Value = lvalue Mod 2
lvalue = (lvalue - Check5.Value) / 2
Check6.Value = lvalue Mod 2
End Sub
Private Function GetValue() As Long
GetValue = Check0.Value + Check1.Value * 2 + Check2.Value * 4 + Check3.Value * 8 + Check4.Value * 16 + Check5.Value * 32 + Check6.Value * 64 + 128
End Function
以上。
餓的老狼
我來(lái)告訴大家什么是純綠軟件--(希望無(wú)知者不要再胡說(shuō)八道了)
有人說(shuō):
還有哪些所謂寫(xiě)綠色軟件的人是不懂windows編程,根本就寫(xiě)不出注冊(cè)的過(guò)程。所以自我安慰的叫綠色軟件。不知大家注意沒(méi)有綠色軟件是不可以在天加刪除中刪掉的。只要它運(yùn)行就會(huì)產(chǎn)生很多拉圾,而且是到處亂放,這就是為什么容易出問(wèn)題的原因所在。
我只能說(shuō),這樣說(shuō)話(huà)的人是個(gè)電腦肓。
或是根本不懂得綠色軟件的含義。
綠色軟件有如下嚴(yán)格特征:
1、不對(duì)注冊(cè)表進(jìn)行任何操作(或只進(jìn)行非常少的,一般朋友能理解的操作,典型的是開(kāi)機(jī)起動(dòng)。少數(shù)也進(jìn)行一些臨時(shí)操作,一般在程序結(jié)束前會(huì)自動(dòng)清除寫(xiě)入的信息)。
2、不對(duì)系統(tǒng)敏感區(qū)進(jìn)行操作,一般包括系統(tǒng)起動(dòng)區(qū)根目錄、安裝目錄(windows目錄)、程序目錄(Program Files)、帳戶(hù)專(zhuān)用目錄。
3、不向非自身所在目錄外的目錄進(jìn)行任何寫(xiě)操作。
4、因?yàn)槌绦蜻\(yùn)行本身不對(duì)除本身所在目錄外的任何文件產(chǎn)生任何影響,所以,根本不存在安裝和卸載問(wèn)題。
5、程序的刪除,只要把程序所在目錄和對(duì)應(yīng)的快捷方式刪了就可以了(如果你手工在桌面或其它位置設(shè)了快捷方式),只要這樣做了,程序就完全干凈地從你的電腦里刪去了,不留任何垃圾。
以上就是綠色軟件的特征。
對(duì)于編程人員來(lái)說(shuō),做一個(gè)綠色軟件不難,做一個(gè)非綠色軟件也不難,但是為什么那么多軟件不做成綠色的呢?下面作一些講解:
一、大型軟件公司的大型軟件為什么不做成綠色的:
1、大型軟件公司并非沒(méi)有能力做出綠色軟件,但它們的軟件涉及的方面過(guò)多,需要對(duì)系統(tǒng)原有的一些設(shè)置進(jìn)行改動(dòng),以使電腦按照軟件設(shè)計(jì)要求進(jìn)行操作。以PhotoShop為例,它就需要在注冊(cè)表里添加很多種格式文件的默認(rèn)打開(kāi)方法為PhtoShop.exe,以便大家雙擊此類(lèi)文件后就自動(dòng)打開(kāi)PhotoShop以便編輯。
2、為了更好的為一些對(duì)電腦知識(shí)不是很了解的朋友進(jìn)行一些自動(dòng)設(shè)定。還是以PhotoShop為例,這兒已經(jīng)有朋友發(fā)布了解壓即可用的,但是,還是不少的朋友,連解壓也不會(huì),解壓后都不知道點(diǎn)哪個(gè)文件開(kāi)始正常運(yùn)行,也不知道怎么在桌面上建快捷方式。就算別人為他做完了上面的事,要是有一天,他不想要PhotoShop了,也不知道原來(lái)安裝的程序在哪個(gè)目錄,怎么刪去,甚至不知道如何刪除快捷方式,更別說(shuō)如何完全干凈的刪除了。做成安裝版就可以自動(dòng)為使用者完成上面的事了。
(特別說(shuō)明:上面對(duì)PhotoShop的舉例,只是用它來(lái)舉例罷了,其實(shí)網(wǎng)上流行的解壓即可用的PhotoShop也不是嚴(yán)格的綠色軟件,其運(yùn)行還是會(huì)寫(xiě)注冊(cè)表的,如果不正常的使用它,注冊(cè)表里還是會(huì)留下垃圾的,不過(guò),這種垃圾對(duì)你的電腦影響不是很大,會(huì)的朋友可以手動(dòng)刪除這些垃圾)
二、做成安裝軟件很難嗎?那些所謂寫(xiě)綠色軟件的人是不懂windows編程,根本就寫(xiě)不出注冊(cè)的過(guò)程嗎。
1、我只能說(shuō),某些人的這種說(shuō)法是一種非常不負(fù)責(zé)任的說(shuō)法。其人根本不懂得編程,可笑而幼稚,只能以電腦肓來(lái)稱(chēng)呼。
2、現(xiàn)在流行的各種編程軟件分三大類(lèi):
A、第一類(lèi)是微軟出的編程軟件。
有Visual Studio系列(流行版本為6.0)以及新出不是很久的VS.NET系列,它們都自帶了安裝發(fā)布功能。特別是Visual Studio中的VB做出的東西,如果不發(fā)布,或不進(jìn)行相關(guān)的處理,在別的沒(méi)有安裝VB的機(jī)器上是根本運(yùn)行不起來(lái)的,因?yàn)閂B編譯出來(lái)的程序在根本上是偽編譯,其指令通過(guò)VB運(yùn)行庫(kù)轉(zhuǎn)譯后運(yùn)行,沒(méi)有VB運(yùn)行庫(kù)的機(jī)器是根本無(wú)法正常運(yùn)行此類(lèi)程序的。當(dāng)然了,有經(jīng)驗(yàn)的朋友可以手工把運(yùn)行庫(kù)復(fù)制入相應(yīng)的目錄中,或是和VB做出的程序放在一起。其它的Visual Studio做出的程序有的有類(lèi)似的上述情況。
在微軟出品的VS.NET中,VS.NET兼容了多種編程語(yǔ)言,但按其說(shuō)法,最終的代碼其根本實(shí)質(zhì)會(huì)變成一致。但是它做出的也同樣是偽代碼,也就是說(shuō),其代碼不是根本上的機(jī)器二進(jìn)制代碼,不對(duì)機(jī)器進(jìn)行直接指令指示,而是向.NET運(yùn)行環(huán)境(NET Framework接口)發(fā)出指令,而由NET Framework轉(zhuǎn)譯指令為機(jī)器代碼,再進(jìn)行持行。這就要求你的機(jī)器上安裝了NET Framework。NET Framework在win95/win98/windows2000上默認(rèn)是沒(méi)有安裝的,如要安裝,需要從網(wǎng)上下載或其它方式得到后安裝。(微軟官方有下載,大家也可以使用windows updata得到)。XP、windows 2003已集成。最后要說(shuō)的是,微軟宣言,要將原來(lái)的API接口(windows一直使用的標(biāo)準(zhǔn)編程接口)作廢,改用.NET接口,故.NET編程方式可能是將來(lái)的標(biāo)準(zhǔn)方式。VS.NET系列的軟件也集成了通用安裝發(fā)布軟件,只要正確掌握它,就能很好的做出樓主所謂的安裝程序。
B、第二類(lèi)軟件是大名鼎鼎的Borland公司出品的編程軟件,它也包括兩大系列。即API系列和.NET系列。其.Net系列的情況和VS.NET是類(lèi)似的。而其API的情況就有些不同了。
Borland的Borland C++Builder和Borland Delphi是兩種非常流行的針對(duì)win進(jìn)行API編程的編程環(huán)境。他們也帶有install shield,可以說(shuō)是編程人員必學(xué)的。不過(guò),很多的稍簡(jiǎn)單的程序,編制者并不用它,因?yàn)?,使用Borland C++Builder/Delphi開(kāi)發(fā)出來(lái)的程序,只要正確設(shè)定幾個(gè)參數(shù),編譯后得出的程序就可以在幾乎所有版本的win中很好的直接運(yùn)行了,當(dāng)前,前提是,沒(méi)有使用有特殊要求的第三方控件,或某些必要特別設(shè)定的數(shù)據(jù)源(BDE等)。而且,稍熟練的編制者可以直接在程序中通過(guò)程序自行進(jìn)行一些簡(jiǎn)單的環(huán)境設(shè)定,如寫(xiě)注冊(cè)表(關(guān)聯(lián)文件、開(kāi)機(jī)起動(dòng))、利用資源文件的方式向重要的目錄寫(xiě)入文件,注冊(cè)組件等等,可以說(shuō)一點(diǎn)兒也不難。
C、第三類(lèi)是一些比較偏的編程語(yǔ)言了,如易語(yǔ)言等,使用的人很少,本人很老實(shí)的說(shuō),具體情況我也不是很了解。
三、為什么一些個(gè)人的簡(jiǎn)單的軟件會(huì)做成非綠色的:
1、編寫(xiě)者水平太低。低到只會(huì)使用微軟的VB等,雖然做出的東西也值得一用,但是不知道怎么把它變成綠色的,只能依*VB等本身的功能以保證程序的正常運(yùn)行。
2、編寫(xiě)者懶,寫(xiě)出程序后想,只要程序能正常讓別人用就可以了,不值得太費(fèi)腦子,依*VB等本身的功能發(fā)布吧,反正這樣保險(xiǎn)。
3、編寫(xiě)者水平不低,也不懶,但是它的程序用到了一些第三方控件,這些控件需要發(fā)布安裝才能正常運(yùn)行(需要注冊(cè)特定的.DLL,需要把一些文件放到特定的位置,如典型的,要放入windows下的system32目錄中。)
4、編寫(xiě)者為一些水平實(shí)在太低的人考慮,為了那些人的方便,如典型的《笨笨鐘》就是此類(lèi),《FoxMail》、《winamp》也是此類(lèi),當(dāng)然,F(xiàn)oxMail、《winamp》是寫(xiě)注冊(cè)表的,通過(guò)其主程序進(jìn)行一些環(huán)境的設(shè)定,嚴(yán)格上來(lái)說(shuō),也不是純綠的。
5、編寫(xiě)者有一些特定的,不想為人知的東西要放入你的機(jī)器。比如典型的《阿達(dá)連連看》就是這樣,它要把一些特定的與注冊(cè)相關(guān)的東西放入你的windows目錄,而且不想被人發(fā)現(xiàn)。又如網(wǎng)際快車(chē)的某些版本,它要把廣告程序代碼放入你的windows安裝目錄。
6、編寫(xiě)者有惡意,它的程序其實(shí)捆綁了木馬、病毒等(對(duì)這一類(lèi)的就要非常小心了),在安裝的過(guò)程中這些惡意的程序就會(huì)釋放出在,不知不覺(jué)中潛入你的計(jì)算機(jī)。
四、是否可以做出功能復(fù)雜,但又是嚴(yán)格意義上的純綠軟件:
答案是非??隙ǖ?,因?yàn)椋鋵?shí)我們正在使用的很多程序都是純綠的,特別是很多的游戲,雖然它們也要安裝后才能運(yùn)行,其實(shí),你把它們安裝后的目錄放在別的機(jī)器上也一樣的可以使用,并不必再次安裝,其安裝的意義就是***編寫(xiě)者為一些水平實(shí)在太低的人考慮***,如《三角洲》、《魔獸爭(zhēng)霸III》。特別如網(wǎng)絡(luò)游戲《傳奇》(這個(gè)程序?qū)懙氖钦娴暮芙?jīng)典了,決對(duì)純綠)等等著名的游戲都是如此。其需要設(shè)定的環(huán)境記錄可以不寫(xiě)在注冊(cè)表內(nèi),而利用*.INI文件來(lái)記錄。我不知道有幾個(gè)人有膽子說(shuō)編寫(xiě)這些程序的人水平低下。
五、綜上所述:
1、要做出一個(gè)純綠色的軟件,并不是很難,當(dāng)然,可能要求編制者更多的依*自已去寫(xiě)代碼(在必要情況下),在程序涉及方面比較多的情況下,可能給編制者加重很多的工作量。而要做一個(gè)非純綠的軟件,那就更容易了,往往可以利用編寫(xiě)器的一些自帶功能自動(dòng)完成。
2、純綠的不帶安裝功能的軟件非常適合于對(duì)電腦比較熟悉的朋友使用,而綠色帶安裝的軟件適合于所有人使用。而自以為對(duì)電腦很熟的朋友往往更喜歡不帶安裝功能就可以用的。原因有如下:帶安裝的軟件往往會(huì)有反安裝程序,如果安裝目錄被人為刪去,反安裝程序或一些相關(guān)注冊(cè)表信息往會(huì)留在機(jī)器中,成為垃圾。
3、為了自已的機(jī)器的安全、快速,也為了知情權(quán)(一個(gè)程序到底在安裝和使用過(guò)程中在自已的機(jī)器里寫(xiě)了什么),本人極力推薦純綠的軟件。即便在必要的情況下非純綠,也希望有詳細(xì)的說(shuō)明。說(shuō)明軟件可能會(huì)寫(xiě)注冊(cè)表的那些部分,會(huì)改動(dòng)機(jī)器里的哪些文件,會(huì)向哪些目錄寫(xiě)入什么文件,內(nèi)容。而且,希望這成為軟件界的一個(gè)標(biāo)準(zhǔn)。這樣,我們的電腦才會(huì)有安全可言!
4、為什么現(xiàn)在流行的軟件中真正純綠的軟件不是很多呢?這個(gè)問(wèn)題很不好回答。在這兒可以非常遺憾的告訴大家,有些朋友在網(wǎng)上下載的winrar綠色版、winamp綠色版等等,都不是真正意義上的純綠軟件。
比如winrar,它就因?yàn)闉榱嗽谑髽?biāo)右鍵上出winrar的功能菜單而寫(xiě)動(dòng)了注冊(cè)表,因?yàn)橐P(guān)聯(lián)比如擴(kuò)展名為.rar等等的文件(這些都可以在winrar程序里設(shè)定和更改)而寫(xiě)動(dòng)了注冊(cè)表。如果使用winrar后,強(qiáng)行把winrar程序目錄刪去,注冊(cè)表里的這一部分注冊(cè)表信息必然成為垃圾(其它的也許有本人沒(méi)有發(fā)現(xiàn)的動(dòng)作,如沒(méi)有說(shuō)出來(lái)是本人水平不足的問(wèn)題了,呵呵)。
winamp綠色版似乎要好一些(本人的感覺(jué)),如果你設(shè)定了一些文件的關(guān)聯(lián),如雙擊*.mp3等文件winamp就會(huì)自動(dòng)打開(kāi)播放的話(huà),你強(qiáng)行刪去winamp所在目錄,這部分文件的關(guān)聯(lián)信息也會(huì)成為垃圾留在注冊(cè)表中。
(上面兩個(gè)只是舉例,解決辦法很多對(duì)電腦熟悉的朋友是會(huì)的,在這兒,我們并不討解決辦法,另外,應(yīng)該說(shuō),上面兩程序是很規(guī)范的東西,它們的這些動(dòng)作是無(wú)可厚非的)
現(xiàn)在再回過(guò)頭來(lái)說(shuō)說(shuō)“流行的軟件中真正純綠的軟件不是很多”。
A、有些功能是非通過(guò)寫(xiě)注冊(cè)表來(lái)實(shí)現(xiàn)不可,最最常見(jiàn)的就是文件關(guān)聯(lián)、鼠標(biāo)右鍵菜單。(呵呵,這種操作可以說(shuō),稍熟編程的人都會(huì))。但是很少有個(gè)人編寫(xiě)者考慮到別人不用他的程序時(shí),要怎么讓使用者方便地復(fù)位這些文件關(guān)聯(lián),方便地清理右鍵菜單。
B、部分程序編寫(xiě)者喜歡把注冊(cè)信息放在注冊(cè)表中。(為什么喜歡?就因?yàn)樽?cè)表是龐大的參數(shù)庫(kù),他們以為,要從這樣一個(gè)大參數(shù)庫(kù)找出他們寫(xiě)入的一個(gè)信息是大海撈針。事實(shí)上,的確很多朋友是難以找出來(lái)的,話(huà)又說(shuō)回來(lái),會(huì)者不難,難者不會(huì),在這兒我也不細(xì)說(shuō)了)
C、一些大公司的程序?qū)嵲趯?duì)系統(tǒng)有太多的改動(dòng),他們做好了安裝和卸載工具,這些軟件涉及了系統(tǒng)的方方面面,想簡(jiǎn)單的刪除是很難的。典型的就如微軟的Office等等。這些軟件說(shuō)實(shí)在的,別說(shuō)你不老實(shí)的刪除了,就是老實(shí)的卸載,有時(shí)也是很難成功的。最好的辦法就是裝上后就別卸把,把它看成是系統(tǒng)的一部分(不管你樂(lè)不樂(lè)意,呵呵)。(又及,這類(lèi)程序也不是很少,這兒只舉一例)。
D、只有那些其功能可以不涉及更改系統(tǒng)默認(rèn)行為的軟件才可能在真正意義上做到純綠。((也許我羅嗦了)系統(tǒng)默認(rèn)行為包括“文件關(guān)聯(lián)”,“右鍵菜單”,“控制面版”里的項(xiàng)目,真實(shí)或虛擬的硬件驅(qū)動(dòng)以及其它我想不起來(lái)或是我也不知道的東西……)。當(dāng)然了,還要編寫(xiě)者有真正的為使用者著想的精神,有較好的技術(shù)。
六、有部分并非純綠的軟件,偽裝成純綠的,在運(yùn)行過(guò)程中向注冊(cè)表寫(xiě)東西,向關(guān)鍵目錄區(qū)寫(xiě)東西,甚至更改重要文件。這不是純綠軟件,只能說(shuō)是偽純綠。又及,很多網(wǎng)上流行的軟件,號(hào)稱(chēng)純綠版,實(shí)際上只是一些原版本經(jīng)過(guò)稍許改進(jìn)等,原軟件并不設(shè)計(jì)為純綠,在運(yùn)行過(guò)程中還是會(huì)寫(xiě)注冊(cè)表(甚至寫(xiě)關(guān)鍵win目錄),也不是嚴(yán)格意義上的純綠。反過(guò)來(lái),也有部分其實(shí)是純綠的軟件,為了大家的方便,做成了安裝發(fā)布式的。比如最典型的就是《傳奇》《三角洲》、《魔獸爭(zhēng)霸III》等一些游戲,一些工作軟件如《FOXMAIL》(FoxMail至少在針對(duì)IE選項(xiàng)里的“程序”頁(yè)里的"電子郵件"相關(guān)項(xiàng)進(jìn)行了注冊(cè)表相關(guān)寫(xiě)操作)《winamp》《winrar》等等準(zhǔn)綠軟件(在這兒,我只說(shuō)它們是準(zhǔn)綠的)也是如此。這類(lèi)軟件其實(shí)安裝出來(lái)后,把其目錄放在任何一臺(tái)電腦上都能或者能較為正常的運(yùn)行,這也是為什么大家能很方便的把它們改造成綠色軟件的原因。現(xiàn)在真正的純綠軟件實(shí)際上是很少的,至于以后,也還是看不到純綠一統(tǒng)天下的希望的,大家不可因噎廢食。不可能只用純綠軟件而不用其它。而且大公司的軟件一般還是非???的。
七、非純綠軟件的危害:
1、向系統(tǒng)關(guān)鍵目錄或不屬于該程序所在目錄亂存放文件(默認(rèn)臨時(shí)文件夾除外)在原則上對(duì)機(jī)器的運(yùn)行速度是沒(méi)有大的影響的,除非亂放的文件改動(dòng)了原有的系統(tǒng)關(guān)鍵文件,才會(huì)至使電腦變慢或運(yùn)行不正常。但是,因?yàn)檫@些目錄中的文件一般都比較多,很難對(duì)它們進(jìn)行清理(鬼才知道哪個(gè)是能刪,那個(gè)不能刪),會(huì)使你的硬盤(pán)空間浪費(fèi),對(duì)于硬盤(pán)空間緊的朋友,那就非常討厭了(此外,心里也不爽)。
2、向注冊(cè)表亂寫(xiě)信息,如果亂寫(xiě)的信息并不影響系統(tǒng)的關(guān)鍵部分,對(duì)系統(tǒng)運(yùn)行也是沒(méi)有嚴(yán)重影響的,不過(guò),有些信息寫(xiě)入了不刪去,你的系統(tǒng)就會(huì)有些討厭的東西出來(lái),舉例:你裝上winrar后(典型安裝設(shè)置),直接把winrar刪了,你就會(huì)發(fā)現(xiàn),你的右鍵菜單里會(huì)多出一些讓人哭笑不得的東西。要注意的是,隨著機(jī)器的使用,軟件的安裝、刪除,這些可以感覺(jué)到和不能感覺(jué)到的信息會(huì)越來(lái)越多,而你的機(jī)器在運(yùn)行過(guò)程中,幾乎隨時(shí)隨刻不能離開(kāi)對(duì)注冊(cè)表的相關(guān)操作,注冊(cè)表里的信息過(guò)多,機(jī)器查找所需信息的速度就會(huì)變慢,這時(shí),機(jī)器的運(yùn)行就表現(xiàn)為“變慢了”,這往往是一臺(tái)電腦為什么越用越慢的最重要的原因之一。(提示:因?yàn)槎鄶?shù)情況下,一個(gè)軟件對(duì)注冊(cè)表寫(xiě)的東西并不多,所以,在每一次垃圾進(jìn)去了,用戶(hù)是很難感覺(jué)到影響的)(又及,一些注冊(cè)表清理軟件,本人也用過(guò),雖有作用,但是風(fēng)險(xiǎn)不少,是好是壞我也不知怎么評(píng)價(jià)……)。這些垃圾信息并非只有小公司的軟件會(huì)留下,很多大公司的軟件據(jù)本人的感覺(jué),也是會(huì)留垃圾的,本人也很無(wú)耐。
解決辦法嗎?恕本人無(wú)能,在當(dāng)今軟件亂世,只怕多少有些無(wú)可耐何。本人是使用最笨的方法:Ghost鏡像還原?;旧厦咳了膫€(gè)月給它倒回一次。(工作文檔等當(dāng)然不能放在系統(tǒng)區(qū)了,呵呵)。
八、希望無(wú)知者不要信口開(kāi)河,多多學(xué)習(xí)。最后,附上一個(gè)我自已做的純綠軟件---BCB編寫(xiě)的《水波特效演示》程序,給大家玩玩叭。
補(bǔ)充——初步判斷一個(gè)軟件是否純綠軟件的方法(注,只有對(duì)電腦比較熟悉的人能才辦到,如果下面的說(shuō)明,你基本能看懂,而無(wú)需請(qǐng)教別人,你就能做到了):
一、系統(tǒng)測(cè)試法:
1、將軟件在別人的機(jī)器上安裝,安裝完成后,把安裝出來(lái)的目錄復(fù)制到你的機(jī)器中(如果本身就號(hào)稱(chēng)純綠免裝的,這步就免了)。
2、你的機(jī)器要求安裝windows2000 或 windows XP 或 windows2003,使用受限用戶(hù)登錄(要求受限用戶(hù)無(wú)對(duì)關(guān)鍵注冊(cè)表有寫(xiě)權(quán),無(wú)對(duì)重要目錄有寫(xiě)權(quán),當(dāng)然了,默認(rèn)的新建的用戶(hù)就是這樣的(XP下要將用戶(hù)設(shè)為受限))。
3、受限用戶(hù)登錄后運(yùn)行復(fù)制來(lái)的安裝目錄下的軟件的主程序,如果正常,90%是純綠。
4、對(duì)省下10%的說(shuō)明——不排除可能編寫(xiě)者隱了動(dòng)作,如果不成功也不報(bào)錯(cuò),也不退出,還正常運(yùn)行,一但能寫(xiě)的時(shí)就它就寫(xiě)。另外,還有一部分程序,如FoxMail,只對(duì)當(dāng)前帳戶(hù)相關(guān)于注冊(cè)表進(jìn)行寫(xiě)操作,因?yàn)椤皫?hù)相關(guān)于注冊(cè)表"是"屬于"對(duì)應(yīng)帳戶(hù)的,在受限帳號(hào)下也是可寫(xiě)的(特別說(shuō)明一下,注銷(xiāo)該帳戶(hù),注冊(cè)表中該帳戶(hù)的所有項(xiàng)目都會(huì)清去,所以也可以算是綠的)。
二、軟件監(jiān)控法:
1、如果上面的步子還不令你放心,還有一個(gè)工具值得一用,那就是《Filemon》,這是一個(gè)可以監(jiān)視系統(tǒng)中任何軟件對(duì)硬盤(pán)的讀寫(xiě)操作的程序,通過(guò)它,你可以查到某個(gè)程序?qū)δ愕挠脖P(pán)的什么位置的什么文件進(jìn)行了操作,這個(gè)程序只能在管理員帳戶(hù)下用(切入系統(tǒng)進(jìn)程)。
2、對(duì)于注冊(cè)表的監(jiān)視是很麻煩的事,《Regmon》可以辦到,同上面的工具一樣Regmon要求在管理員帳戶(hù)下用(切入系統(tǒng)進(jìn)程)。
3、90%的軟件和上面的兩個(gè)軟件無(wú)沖突,省下的9%的是作者有意防止被監(jiān)視(為什么有意防止被監(jiān),那你就自個(gè)想吧,一般都是比較可怕的東西),最后1%可能是因?yàn)槌绦驅(qū)嵲谙嗷ゲ患嫒萘恕?/p>
以上兩工具都為同一公司(Sysinternals)出品,值得一用,附在最后(XTJS.rar)。
三、并非所有的不能在受限帳戶(hù)下用的程序都不是純綠的。某些程序可能要切入別的系統(tǒng)程序中,某些程序需要得到硬件信息等,這些最只有在管理員帳戶(hù)下才能實(shí)現(xiàn)。還有一些程序可能沒(méi)有考慮多用戶(hù)操作系統(tǒng)等。只能說(shuō),通過(guò)了上面的測(cè)試的程序90%是純綠的,沒(méi)有通過(guò)的話(huà)90%是非純綠的。有經(jīng)驗(yàn)的朋友還可以據(jù)自已的經(jīng)驗(yàn)得到更準(zhǔn)確的結(jié)論。參考資料:以上資料,從網(wǎng)上下載的,與本人無(wú)關(guān)
網(wǎng)站標(biāo)題:vb.net注冊(cè)命令 vb制作登錄和注冊(cè)系統(tǒng)
當(dāng)前地址:http://muchs.cn/article30/dosesso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、面包屑導(dǎo)航、定制網(wǎng)站、關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容