vb.net怎樣禁用設(shè)備 禁用vbs腳本權(quán)限

如何在編的VB.NET程序使用時(shí)關(guān)閉電腦

有兩種方法,第一種是調(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)頁設(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,你可以去搜索一下其用法。

vb.net中如何禁用鍵盤和鼠標(biāo)

很簡(jiǎn)單,你怎么不先問我,還在這提問。用api函數(shù),鉤子,設(shè)置成全局鉤子,然后對(duì)鉤取來的message消息不做處理,也不返回,這樣屏蔽了鍵盤了。鉤子函數(shù)api好像是什么hook的那個(gè),還有鉤子函數(shù)的返回函數(shù),以整個(gè)自定義函數(shù)的指針作參數(shù)

如何VB調(diào)用API實(shí)現(xiàn)光驅(qū),USB的禁用

禁用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è)密碼,這樣他人就無法通過修改注冊(cè)表解“鎖”上述設(shè)備了。

注意:這個(gè)方法是完全禁止了USB接口,也就是說各種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)中就是無法找到其盤符,因此也就無法使用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)。

理解了原理后,下面以我的電腦為例說明如何操作:我的電腦有一個(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)盤,在我的電腦里也是看不出來的,但在地址欄里輸入I:(我的電腦電后一個(gè)盤符是H)還是可以訪問移動(dòng)盤的。到這里大家都看得出“NoDrives”只是障眼法,所以我們還要做多一步,就是再新建一個(gè)二進(jìn)制“NoViewOnDrive”,值改為“02 ff ff ff”,也就是說其值與“NoDrives”相同。 這樣一來,既看不到U盤符也訪問不到U盤了。

方法四,禁止安裝USB驅(qū)動(dòng)程序

在Windows資源管理器中,進(jìn)入到“系統(tǒng)盤:\WINDOWS\inf”目錄,找到名為“Usbstor.pnf”的文件,右鍵點(diǎn)擊該文件,在彈出菜單中選擇“屬性”,然后切換到“安全”標(biāo)簽頁,在“組或用戶名稱”框中選中要禁止的用戶組,接著在用戶組的權(quán)限框中,選中“完全控制”后面的“拒絕”復(fù)選框,最后點(diǎn)擊“確定”按鈕。

再使用以上方法,找到“usbstor.inf”文件并在安全標(biāo)簽頁中設(shè)置為拒絕該組的用戶訪問,其操作過程同上。完成了以上設(shè)置后,該組中的用戶就無法安裝USB設(shè)備驅(qū)動(dòng)程序了,這樣就達(dá)到禁用的目的。

注意:要想使用訪問控制列表(ACL),要采用NTFS文件系統(tǒng)。

上面有一些是用修改注冊(cè)表來實(shí)現(xiàn)的,你用VB訪問注冊(cè)表來修改就可以實(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

VB.NET中怎樣在窗體上禁用控件的鍵盤事件

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語句結(jié)果為真,第二個(gè)過程if語句結(jié)果為假,你的所有問題都可通過if判斷語句解決,msgbox代碼只是做個(gè)測(cè)試,實(shí)際為你響應(yīng)form鍵盤事件的代碼。

本文標(biāo)題:vb.net怎樣禁用設(shè)備 禁用vbs腳本權(quán)限
當(dāng)前地址:http://muchs.cn/article4/dosdpoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)公司網(wǎng)頁設(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í)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司