![]() |
Permisos de Administrador Para Dehabilitar Control + Alt + Suprimir
Hola a Todos
Antes de hacer esta pregunta me base en lo siguiente para deshabilitar el COntrol + Alt +Suprimir, encontrada en este hilo, como dicen aqui :D
Esta Funciona de maravilla pero solo cuando tengo permisos de adminsitrador :( y esta aplicacion esta corriendo bajo un usuario restringido de Dominio. Revisando la pagina encontre, en este hilo var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar (StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); Win32Check( CreateProcessWithLogonW( StringToOleStr('UsuarioConPermisos'),StringToOleStr ('Dominio'), StringToOleStr('Password'),0, StringToOleStr('Exe'), nil, 0, nil, StringToOleStr('DirectorioTrabajo'), StartupInfo, ProcessInfo ) ); end; [/delphi] Pero no he podido, alguien me puede explicar o dar otra solucion... De Antemano Muchas Gracias... :) |
COntrol + Alt +Suprimir
Cita:
reviso tu post y el codigo pero no son iguales a los q estan en el hilo anterior o trataste de dar una solucion mejor?...... de cualquier manera .. has intentado deshabilitar los tres botones utilizando el codigo ASCII? |
Una solución es conectarte a la máquina como administrador y cambiar los permisos del registro para que el susodicho usuario (o todos los no-administradores) puedan cambiar el valor de la llave que te interesa.
Hasta luego. ;) |
Retomando la idea.
Segui haciendo pruebas con:
Código Delphi [-] procedure TForm1.Button1Click(Sender: TObject); var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar (StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); Win32Check( CreateProcessWithLogonW( StringToOleStr('UsuarioConPermisos'),StringToOleStr ('Dominio'), StringToOleStr('Password'),0, StringToOleStr('Exe'), nil, 0, nil, StringToOleStr('DirectorioTrabajo'), StartupInfo, ProcessInfo ) ); end; Pero siendoles sincero no se como usarlo luego de hacer este procedimiento ya todo procedimiento que realice tiene permisos de administrador? Cuando compilo el codigo me sale: [Warning] Unit1.pas(33): Symbol 'Win32Check' is specific to a platform [Error] Unit1.pas(33): Undeclared identifier: 'CreateProcessWithLogonW' [Fatal Error] Prueb.dpr(5): Could not compile used unit 'Unit1.pas' Creeria que me hace falta: Código Delphi [-] function CreateProcessWithLogon; external 'advapi32.dll' name 'CreateProcessWithLogonW'; Pero donde lo coloco...:( mejor dicho me queda asi y no funciona Código Delphi [-] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function CreateProcessWithLogon; external 'advapi32.dll' name 'CreateProcessWithLogonW'; procedure TForm1.Button1Click(Sender: TObject); var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar (StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); Win32Check( CreateProcessWithLogonW( StringToOleStr('UsuarioConPermisos'),StringToOleStr ('Dominio'), StringToOleStr('Password'),0, StringToOleStr('Exe'), nil, 0, nil, StringToOleStr('DirectorioTrabajo'), StartupInfo, ProcessInfo ) ); end; end. Que hago...???? |
Cita:
|
Cita:
De antemano Gracias... |
Cita:
Hasta luego. ;) |
Cita:
Gracias Juan Antonio, ahora sé algo más. // Saludos |
Cita:
Suponiendo exageradamente que, sin ser administrador, abrís el regedit en promedio 1 vez por día (yo no lo hago mas de un par de veces al mes), podemos deducir que tenes unos 97 años y medio laborando en la plataforma windows.. :rolleyes: Si yo decía que vos venías del futuro... como el invento ese del RegEdit tuvo que ser por allá por 1994, mínimo vos venis del 2091!!!!! :p No seas egoista... contanos, ¿que tan lejos ha llegado la informática en aquellos tiempos? ¿sigue existiendo delphi? ¿turbo? :D:D:D:D |
Super bien
Cita:
Agradezco mucho tu colaboración. :D :p Aprovecho... los cambios que realizo en el registro solo los toma cuando reinicio la maquina, hay alguna forma que hacer como un " F5 " para recargar la informacion del mismo... |
La franja horaria es GMT +2. Ahora son las 21:38:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi