有兩種方法,第一種是調(diào)用shutdown.exe
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供九江網(wǎng)站建設(shè)、九江做網(wǎng)站、九江網(wǎng)站設(shè)計(jì)、九江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、九江企業(yè)網(wǎng)站模板建站服務(wù),10多年九江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
shell("shutdown.exe路徑
-s
-t
0")
'-t是延遲時(shí)間,0表示立刻關(guān)機(jī)
另一種就是使用API了,好像是ExitWindow,你可以去搜索一下其用法。
很簡(jiǎn)單,你怎么不先問我,還在這提問。用api函數(shù),鉤子,設(shè)置成全局鉤子,然后對(duì)鉤取來(lái)的message消息不做處理,也不返回,這樣屏蔽了鍵盤了。鉤子函數(shù)api好像是什么hook的那個(gè),還有鉤子函數(shù)的返回函數(shù),以整個(gè)自定義函數(shù)的指針作參數(shù)
禁用U盤和移動(dòng)硬盤
方法一,BIOS設(shè)置法(快刀斬亂麻法)
進(jìn)入BIOS設(shè)置,選擇“Integrated Peripherals”選項(xiàng),展開后將“USB 1.1 Controller”和“USB 2.0 Contr01ler”選項(xiàng)的屬性設(shè)置為“Disableed”,即可禁用USB接口。最后別忘記給BIOS設(shè)置上一個(gè)密碼,這樣他人就無(wú)法通過修改注冊(cè)表解“鎖”上述設(shè)備了。
注意:這個(gè)方法是完全禁止了USB接口,也就是說(shuō)各種USB接口的設(shè)備均不能用了,當(dāng)然也包括了U盤和移動(dòng)盤。由于此法過于霸道,請(qǐng)慎用。
方法二,禁止閃盤或移動(dòng)硬盤的啟動(dòng)(適用于Windows XP/2000/2003)
打開注冊(cè)表編輯器,依次展開如下分支[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR],在右側(cè)的窗格中找到名為“Start”的DWORD值,雙擊,在彈出的編輯對(duì)話框中將其數(shù)值數(shù)據(jù)修改為十六位進(jìn)制數(shù)值“4”。點(diǎn)“確定”按鈕并關(guān)閉注冊(cè)表編輯器,重新啟動(dòng)計(jì)算機(jī),使設(shè)置生效。重啟后,當(dāng)有人將USB存儲(chǔ)設(shè)備連接到計(jì)算機(jī)時(shí),雖然USB設(shè)備上的指示燈在正常閃爍,但在資源管理器當(dāng)中就是無(wú)法找到其盤符,因此也就無(wú)法使用USB設(shè)備了。
方法三,隱藏盤符和禁止查看(適用于Windows系統(tǒng))
打開注冊(cè)表編輯器,依次展開如下分支[HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Ploicies\Explorer],新建二進(jìn)制值“NoDrives”,其缺省值均是00 00 00 00,表示不隱藏任何驅(qū)動(dòng)器。鍵值由四個(gè)字節(jié)組成,每個(gè)字節(jié)的每一位(bit)對(duì)應(yīng)從A:到Z:的一個(gè)盤,當(dāng)相應(yīng)位為1時(shí),“我的電腦”中相應(yīng)的驅(qū)動(dòng)器就被隱藏了。第一個(gè)字節(jié)代表從A到H的8個(gè)盤,即01為A,02為B,04為C……依次類推,第二個(gè)字節(jié)代表I到P,第三個(gè)字節(jié)代表Q到X,第四個(gè)字節(jié)代表Y和Z。比如要關(guān)閉C盤,將鍵值改為04 00 00 00;要關(guān)閉D盤,則改為08 00 00 00,若要關(guān)閉C盤和D盤,則改為0C 00 00 00(C是十六進(jìn)制,轉(zhuǎn)成十進(jìn)制就是12)。
理解了原理后,下面以我的電腦為例說(shuō)明如何操作:我的電腦有一個(gè)軟驅(qū)、一個(gè)硬盤(5個(gè)分區(qū))、一個(gè)光驅(qū),盤符分布是這樣的:A:(3.5軟盤)、C:、D:、E:、F:、G:、H:(光盤),所以我的“NoDrives”值為“02 ff ff ff”,隱藏了B、I到Z盤。
重啟計(jì)算機(jī)后,再插入U(xiǎn)盤,在我的電腦里也是看不出來(lái)的,但在地址欄里輸入I:(我的電腦電后一個(gè)盤符是H)還是可以訪問移動(dòng)盤的。到這里大家都看得出“NoDrives”只是障眼法,所以我們還要做多一步,就是再新建一個(gè)二進(jìn)制“NoViewOnDrive”,值改為“02 ff ff ff”,也就是說(shuō)其值與“NoDrives”相同。 這樣一來(lái),既看不到U盤符也訪問不到U盤了。
方法四,禁止安裝USB驅(qū)動(dòng)程序
在Windows資源管理器中,進(jìn)入到“系統(tǒng)盤:\WINDOWS\inf”目錄,找到名為“Usbstor.pnf”的文件,右鍵點(diǎn)擊該文件,在彈出菜單中選擇“屬性”,然后切換到“安全”標(biāo)簽頁(yè),在“組或用戶名稱”框中選中要禁止的用戶組,接著在用戶組的權(quán)限框中,選中“完全控制”后面的“拒絕”復(fù)選框,最后點(diǎn)擊“確定”按鈕。
再使用以上方法,找到“usbstor.inf”文件并在安全標(biāo)簽頁(yè)中設(shè)置為拒絕該組的用戶訪問,其操作過程同上。完成了以上設(shè)置后,該組中的用戶就無(wú)法安裝USB設(shè)備驅(qū)動(dòng)程序了,這樣就達(dá)到禁用的目的。
注意:要想使用訪問控制列表(ACL),要采用NTFS文件系統(tǒng)。
上面有一些是用修改注冊(cè)表來(lái)實(shí)現(xiàn)的,你用VB訪問注冊(cè)表來(lái)修改就可以實(shí)現(xiàn)
(鎖定光驅(qū)在Win2000上的實(shí)現(xiàn))
新建一個(gè)工程,在窗體上加入兩個(gè)按鈕,粘貼以下程序,看看效果怎么樣?^_^
Option Explicit
Private Const GENERIC_READ As Long = H80000000
Private Const FILE_SHARE_READ As Long = H1
Private Const FILE_SHARE_WRITE As Long = H2
Private Const OPEN_EXISTING As Long = 3
Private Const IOCTL_STORAGE_MEDIA_REMOVAL As Long = H2D4804
Private Type PREVENT_MEDIA_REMOVAL
PreventMediaRemoval As Byte
End Type
Private Declare Function DeviceIoControl Lib "kernel32" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, lpOverlapped As Any) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Function LockCDROM(szDrive As String, IsLock As Boolean) As Boolean
On Error GoTo Err
Dim hDevice As Long
Dim PMR As PREVENT_MEDIA_REMOVAL
Dim bytesReturned As Long
Dim Success As Long
hDevice = CreateFile("\\.\" szDrive, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, 0, 0)
PMR.PreventMediaRemoval = CByte(Abs(IsLock))
Success = DeviceIoControl(hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, PMR, Len(PMR), ByVal 0, 0, bytesReturned, ByVal 0)
CloseHandle hDevice
LockCDROM = True
Exit Function
Err:
LockCDROM = False
End Function
Private Sub Command1_Click()
Dim ret As Boolean
ret = LockCDROM("H:", True) '我的光驅(qū)盤符是H:
If ret Then
MsgBox "鎖定成功", vbInformation, "提示"
Else
MsgBox "鎖定失敗", vbInformation, "提示"
End If
End Sub
Private Sub Command2_Click()
Dim ret As Boolean
ret = LockCDROM("H:", False)
If ret Then
MsgBox "解除鎖定成功", vbInformation, "提示"
Else
MsgBox "解除鎖定失敗", vbInformation, "提示"
End If
End Sub
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
Private Sub Button1_KeyDown(sender As Object, e As KeyEventArgs) Handles Button1.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
這樣就行了,第一個(gè)過程if語(yǔ)句結(jié)果為真,第二個(gè)過程if語(yǔ)句結(jié)果為假,你的所有問題都可通過if判斷語(yǔ)句解決,msgbox代碼只是做個(gè)測(cè)試,實(shí)際為你響應(yīng)form鍵盤事件的代碼。
本文標(biāo)題:vb.net怎樣禁用設(shè)備 禁用vbs腳本權(quán)限
當(dāng)前地址:http://jinyejixie.com/article4/dosdpoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁(yè)設(shè)計(jì)公司、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)