Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Tutorial] Barrando certos lugares do windows. [DELPHI]


~ Heatlex.
 Compartilhar

Posts Recomendados

Pessoal to postando uma unit que vc tem como barrar o acesso do usuário a certos lugares do windows.

 

Esconde Barra Tarefa

Esconde Iniciar

Restringir Sistema

Restringir Outros

Restringir Painel

Restringir Explorer

Restringir Iniciar

Restringir Desktop

Restringir Video

Iniciar Com Windows

 

 

unit uRegistros; interface procedure EscondeBarraTarefa(EstadoBarra: Boolean); procedure EscondeIniciar(Esconde:Boolean); procedure RestringirSistema(UmParaSimZeroParaNao:Integer); procedure RestringirOutros(UmParaSimZeroParaNao:Integer); procedure RestringirPainel(UmParaSimZeroParaNao:integer); procedure RestringirExplorer(UmParaSimZeroParaNao:Integer); procedure RestringirIniciar(UmParaSimZeroParaNao:Integer); procedure RestringirDesktop(UmParaSimZeroParaNao:Integer); procedure RestringirVideo(UmParaSimZeroParaNao:Integer); procedure IniciarComWindows(var Existe:Boolean;Forcar: Boolean); implementation uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; const SISTEMA = 'software\Microsoft\Windows\CurrentVersion\Policies\System'; EXPLORER = 'Software\Microsoft\Windows\CurrentVersion\Policies\Explorer'; RUN = 'Software\Microsoft\Windows\CurrentVersion\Run'; NETWORK = 'Software\Microsoft\Windows\CurrentVersion\Policies\Network'; UNINSTALL = 'Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall'; DOS = 'Software\Policies\Microsoft\Windows\System'; procedure EscondeIniciar(Esconde:Boolean); Var taskbarhandle, buttonhandle : HWND; begin taskbarhandle := FindWindow('Shell_TrayWnd', nil); buttonhandle := GetWindow(taskbarhandle, GW_CHILD); if Esconde then ShowWindow(buttonhandle, SW_HIDE) {esconde o botão} else ShowWindow(buttonhandle, SW_RESTORE);{mostra o botão} end; procedure EscondeBarraTarefa(EstadoBarra: Boolean); var wndHandle : THandle; wndClass : array[0..50] of Char; begin StrPCopy(@wndClass[0],'Shell_TrayWnd'); wndHandle := FindWindow(@wndClass[0], nil); If not EstadoBarra Then ShowWindow(wndHandle, SW_RESTORE) {Mostra a barra de tarefas} Else ShowWindow(wndHandle, SW_HIDE); {Esconde a barra de tarefas} end; procedure RestringirSistema(UmParaSimZeroParaNao:Integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(DOS,TRUE); //Desabilita o Prompt de Dos key.WriteInteger('DisableCMD',UmParaSimZeroParaNao); key.CloseKey; key.OpenKey(EXPLORER,true); //Desabilita o Executar (Tecla Win + R) key.WriteInteger('NoRun',UmParaSimZeroParaNao); //Desabilita o Localizar (Tecla Win + f) key.WriteInteger('NoFind',UmParaSimZeroParaNao); key.CloseKey; key.OpenKey(SISTEMA,true); //Desabilita o Regedit key.WriteInteger('DisableRegistryTools',UmParaSimZeroParaNao); key.CloseKey; end; procedure RestringirVideo(UmParaSimZeroParaNao:Integer); var key : TRegistry; begin key :=TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(SISTEMA,TRUE); //Desabilita página do papel de parede key.WriteInteger('NoDispBackgroundPage',UmParaSimZeroParaNao); //Desabilita página da aparência key.WriteInteger('NoDispAppearancePage',UmParaSimZeroParaNao); //Desabilita página da proteção de tela key.WriteInteger('NoDispScrSavPage', UmParaSimZeroParaNao); //Desabilita página Configurações key.WriteInteger('NoDispSettingsPage', UmParaSimZeroParaNao); //Deabilita toda propriedade do video key.WriteInteger('NoDispCPL', UmParaSimZeroParaNao); key.CloseKey; end; procedure IniciarComWindows(var Existe:Boolean;Forcar: Boolean); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_LOCAL_MACHINE; key.OpenKey(RUN,TRUE); if (not key.KeyExists('Controlador'))then begin if Forcar then Key.CreateKey('Controlador'); Existe := False; end else Existe := True; if ((Forcar) and (Not Existe)) then key.WriteString('Controlador',Application.ExeName) else if ((Forcar) and (Existe))then begin if not key.DeleteValue('Controlador') then key.DeleteKey('Controlador'); end; key.CloseKey ; end; procedure RestringirDesktop(UmParaSimZeroParaNao:Integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(EXPLORER,TRUE); //Não mostrar ícones do Desktop key.WriteInteger('NoDeskTop',UmParaSimZeroParaNao); //Desabilita o active Desktop (essa eu não testei ainda) key.WriteInteger('NoActiveDesktop', UmParaSimZeroParaNao); key.CloseKey ; end; procedure RestringirIniciar(UmParaSimZeroParaNao:Integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(Explorer,true); //Não mostrar o relógio da barra de tarefas key.WriteInteger('HideClock', UmParaSimZeroParaNao); //Desabilita o popup Propriedades da Barra de tarefas key.WriteInteger('NoSetTaskbar', UmParaSimZeroParaNao); //Desabilita o popup completo da barra de tarefas KEY.WriteInteger('NoTrayContextMenu',UmParaSimZeroParaNao); //Oculta os icones vizinho ao relógio da barra de tarefas kEY.WriteInteger('NoTrayItemsDisplay',UmParaSimZeroParaNao); key.CloseKey; end; procedure RestringirExplorer(UmParaSimZeroParaNao:Integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(EXPLORER,TRUE); //Desabilita a exibição do Drive C If UmParaSimZeroParaNao = 1 then key.WriteInteger('NoDrives',4) else key.WriteInteger('NoDrives',0); //Desabilita o menu Opções de pastas key.WriteInteger('NoFolderOptions',UmParaSimZeroParaNao); //Desabilita o menu Arquivo key.WriteInteger('NoFileMenu',UmParaSimZeroParaNao); //Desabilita o menu Favoritos key.WriteInteger('NoFavoritesMenu',UmParaSimZeroParaNao); //Limpa a lista de documentos recentes ao sair do windows key.WriteInteger('ClearRecentDocsOnExit',UmParaSimZeroParaNao); //Limpa o histórico da internet ao sair (Não testei ainda) key.WriteInteger('NoRecentDocsHistory',UmParaSimZeroParaNao); //Não mostra o ícone do Internet Explore no Desktop (Não testei ainda) key.WriteInteger('NoInternetIcon', UmParaSimZeroParaNao); key.CloseKey; end; procedure RestringirPainel(UmParaSimZeroParaNao:integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(EXPLORER , true); //Desabilita a propriedade de Sistema key.WriteInteger('NoPropertiesMyComputer',UmParaSimZeroParaNao); //Não tenho certeza mais parece que desabilita a propriedade de //pastas key.WriteInteger('NoSetFolders',UmParaSimZeroParaNao); //Desabilita o painel de controle Key.WriteInteger('NoControlPanel',UmParaSimZeroParaNao); //Bloqueia a adição de novas impressoras key.WriteInteger('NoAddPrinter',UmParaSimZeroParaNao); //Bloqueia a exclusão de impressoras key.WriteInteger('NoDeletePrinter',UmParaSimZeroParaNao); key.CloseKey; key.OpenKey(UNINSTALL,TRUE); //Desabilita o Adicionar e Remover programas KEY.WriteInteger('NoAddRemovePrograms',UmParaSimZeroParaNao); key.CloseKey; end; procedure RestringirOutros(UmParaSimZeroParaNao:Integer); var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(EXPLORER,TRUE); //Desabilita o botão Logoff do menu Iniciar key.WriteInteger('StartMenuLogOff',UmParaSimZeroParaNao); //Desabilita o botão desligar computador do MenuIniciar key.WriteInteger('NoClose',UmParaSimZeroParaNao); //Não testei ainda mais parece que não gravas as alterações feitas //na sessão ao sair key.WriteInteger('NoSaveSettings',UmParaSimZeroParaNao); //Nâo testei ainda mais parece que desabilita as atualizações //automáticas do windows key.WriteInteger('NoDevMgrUpdate',UmParaSimZeroParaNao); key.CloseKey; end; end.

 

 

Retirado do mundodoprogamador

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.