Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vagner Rell

não pode funcionar o CTRL+ALT+DEL

Recommended Posts

Hola , galera é o seguinte. estou desenvolvendo um sistema que ele não pode funcionar o CTRL+ALT+DEL , nem INICIAR ,e etc . Em fim , eu não estava conseguindo achar um codigo para isso , então consegui uma soucer de um projeto , porem ,esse projeto , tem que marcar as "ChekBox " , para ele funcionar, passei esse codigo para meu projeto , funcionou tudo Ok ! Porem , eu quero que esse codigo inicie com o meu sistema , quero que a hora que eu abrir o sistema, ele já trave . Se alguém poder me dar essa dica ou souber outro codigo que tenha a mesma função , eu agradeço .

PS : na sourcer esta falando que o codigo é apenas para Windows XP NT 2000 , mais funciona perfeitamente no Win7 , só é executar como administrador.

Codigo da sourcer .

 

'File Name : form1.frm
'Function : To Disable Task manager and many other options on Windows NT & windows 2000
'Created By : Joyprakash Saikia
'Created on : 12th March, 2002
' This Piece of Code has been tested on Windows 2000, Windows NT
' I have not able to test it on windows 9X system
' I think this Code will help you in many situations where you
' have to restrict user from Logoff and Change Password etc.
' Please vote me or Comment on this approach
Const REG_SZ = 1
Const REG_BINARY = 3
Const REG_DWORD = 4
Const HKEY_CURRENT_USER = &H80000001
' the Functions for Registry Manipulations
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
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 RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private 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 Any, lpcbData 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
Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String) As String
'----------------------------------------------------------------------------
'Argument : Handlekey, Name of the Value in side the key
'Return Value : String
'Function : To fetch the value from a key in the Registry
'Comments : on Success , returns the Value else empty String
'----------------------------------------------------------------------------
Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long
lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, ByVal 0, lDataBufSize)
If lResult = 0 Then
If lValueType = REG_SZ Then
strBuf = String(lDataBufSize, Chr$(0))
'retrieve the key's value
lResult = RegQueryValueEx(hKey, strValueName, 0, 0, ByVal strBuf, lDataBufSize)
If lResult = 0 Then
RegQueryStringValue = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)
End If
ElseIf lValueType = REG_BINARY Then
Dim strData As Integer
'retrieve the key's value
lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize)
If lResult = 0 Then
RegQueryStringValue = strData
End If
ElseIf lValueType = REG_DWORD Then
'retrieve the key's value
lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize)
If lResult = 0 Then
RegQueryStringValue = strData
End If
End If
End If
End Function
Function GetString(hKey As Long, strPath As String, strValue As String)
'----------------------------------------------------------------------------
'Argument : Handlekey, path from the root , Name of the Value in side the key
'Return Value : String
'Function : To fetch the value from a key in the Registry
'Comments : on Success , returns the Value else empty String
'----------------------------------------------------------------------------
Dim Ret
'Open key
RegOpenKey hKey, strPath, Ret
'Get content
GetString = RegQueryStringValue(Ret, strValue)
'Close the key
RegCloseKey Ret
End Function
Sub SaveStringWORD(hKey As Long, strPath As String, strValue As String, strData As String)
'----------------------------------------------------------------------------
'Argument : Handlekey, Name of the Value in side the key
'Return Value : Nil
'Function : To store the value into a key in the Registry
'Comments : None
'----------------------------------------------------------------------------
Dim Ret
'Create a new key
RegCreateKey hKey, strPath, Ret
'Set the key's value
RegSetValueEx Ret, strValue, 0, REG_DWORD, CLng(strData), 4
'close the key
RegCloseKey Ret
End Sub
Sub DelSetting(hKey As Long, strPath As String, strValue As String)
'Not used in this form
'you can use it to delete the current entries
Dim Ret
'Create a new key
RegCreateKey hKey, strPath, Ret
'Delete the key's value
RegDeleteValue Ret, strValue
'close the key
RegCloseKey Ret
End Sub
------------------------------------------------------------
Private Sub Form_Load()
On Error Resume Next ' Coz the following Code will generate Error if the Entries are not found in registry Run time error '13' type mismatch
'check each of the Value in the registry
Check1.Value = GetString(HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableTaskMgr")
' check the Settings only for the Explorer entry,not System
Check2.Value = GetString(HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\Explorer", "NoLogoff")
Check3.Value = GetString(HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\Explorer", "NoClose")
' check the Settings for System entry
Check4.Value = GetString(HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableLockWorkstation")
Check5.Value = GetString(HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableChangePassword")

 

end sub

 

 

---------------------------------------------

 

 

 

 

Private Sub Check1_Click()
SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableTaskMgr", Val(Check1.Value)
End Sub
Private Sub Check2_Click()
SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\Explorer", "NoLogoff", Val(Check2.Value)
End Sub
Private Sub Check3_Click()
SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\Explorer", "NoClose", Val(Check3.Value)
End Sub
Private Sub Check4_Click()
SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableLockWorkstation", Val(Check4.Value)
End Sub
Private Sub Check5_Click()
SaveStringWORD HKEY_CURRENT_USER, "software\microsoft\windows\currentversion\policies\system", "DisableChangePassword", Val(Check5.Value)
End Sub
-----------------------------------------------------
Não editei nada, postei e deixei os créditos a pessoa que desenvolveu o codigo !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom ninguém me respondeu ---', pesquisando mais e mais consegui outro codigo que fazia a mesma coisa. Acredite ou não , o código é esse ( shell " taskmgr.exe", vbhide ) .

 

Porem tenho uma duvida ainda. Depois que eu abro o programa (que é em Tela cheia ) , a parte do botão iniciar ali em baixo fica aparecendo , alguém me da uma dica ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vagner, entenda, isto é um fórum e não um chat online de suporte, os membros podem demorar para responder suas dúvidas.

 

Quanto a seu tópico, você vai precisar adicionar uma chave no registro para que ele inicie juntamente com o SO, ou então você via precisar criar manualmente uma tarefa no taskschd.msc para que ele inicie seu programa assim que o sistema for iniciado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.