Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Private Enum RKEYS_
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
End Enum
Private Sub Form_Load()
Const REG_IDPATH As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace"
Const REG_TSPATH As String = "Software\Microsoft\Windows\CurrentVersion\Policies\System"
Const REG_RCLICKPATH As String = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
Const DI_CLSID_MYDOCUMENTS As String = "{450D8FBA-AD25-11D0-98A8-0800361B1103}"
Const DI_CLSID_RECYCLEBIN As String = "{645FF040-5081-101B-9F08-00AA002F954E}"
Const SW_SHOW As Long = &H1: Const SW_HIDE As Long = &H0
Dim lRegOp As Long
Dim lTskHw As Long
lRegOp = SetDWORD(HKEY_LOCAL_MACHINE, REG_RCLICKPATH, "NoViewContextMenu", &H1) 'Disable right click on desktop, may have to restart explorer
lRegOp = SetDWORD(HKEY_CURRENT_USER, REG_TSPATH, "DisableTaskMgr", &H1) 'Restrict CTRL+ALT+DEL, User specific
lRegOp = RegDeleteKey(HKEY_LOCAL_MACHINE, REG_IDPATH & "\" & DI_CLSID_MYDOCUMENTS) 'Disable My Documents
lRegOp = RegDeleteKey(HKEY_LOCAL_MACHINE, REG_IDPATH & "\" & DI_CLSID_RECYCLEBIN) 'Disable Recycle Bin
lTskHw = FindWindow("Shell_TrayWnd", "") 'Get taskbar handle
Select Case IsWindowVisible(lTskHw&)
Case 1: Call ShowWindow(lTskHw&, SW_HIDE) 'Visible, hide it
Case 0: Call ShowWindow(lTskHw&, SW_SHOW) 'Invisible, show it
End Select
End Sub
Private Function SetDWORD(RSECT_ As RKEYS_, stringP As String, stringV As String, lngData As Long) As Long
Const REG_DWORD As Long = &H4
Dim lRet As Long
Dim lKeyV As Long
lRet = RegCreateKey(RSECT_, stringP$, lKeyV)
lRet = RegSetValueEx(lKeyV, stringV, 0, REG_DWORD, lngData, REG_DWORD)
lRet = RegCloseKey(lKeyV&)
End Function