Ver Mensaje Individual
  #1  
Antiguo 05-12-2005
Avatar de User_baja1
User_baja1 User_baja1 is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Reputación: 20
User_baja1 Va por buen camino
abrir carpeta de impresoras...

Hola a todos,
tengo una aplicacion que se ejecuta en un equipo dedicado con una cuenta de usuario limitado y necesito poder abrir la carpeta de impresoras desde delphi..., he encontrado el siguiente codigo en trucomania

Código:
 procedure TForm1.Button1Click(Sender: TObject); var    PIDL:PItemIDList;    Info:TShellExecuteInfo;    pInfo:PShellExecuteInfo;    WaitCode:DWord; begin    {Obtenemos PIDL de la carpeta virtual}    {get PIDL of the virtual folder}    SHGetSpecialFolderLocation(Handle,                               CSIDL_PRINTERS,                               PIDL);    {Puntero a Info}    {Pointer to Info}    pInfo:=@Info;    {Rellenamos Info}    {Fill info}    With Info do    begin     cbSize:=SizeOf(Info);     fMask:=SEE_MASK_NOCLOSEPROCESS+            SEE_MASK_IDLIST;     wnd:=Handle;     lpVerb:=nil;     lpFile:=nil;     {Parametros al ejecutable}     {Executable parameters}     lpParameters:=nil;     lpDirectory:=nil;     nShow:=SW_ShowNormal;     hInstApp:=0;     lpIDList:=PIDL;    end;    {Ejecutamos}    {Execute}    ShellExecuteEx(pInfo);    {Esperamos que termine}    {Wait to finish}    repeat     WaitCode := WaitForSingleObject(Info.hProcess,500);     Application.ProcessMessages;    until (WaitCode <> WAIT_TIMEOUT); end;
pero me gustaria que solamente se pueda gestionar las impresoras, nada de pulsar el boton de arriba y acceder al panel de control, a el explorador de windows ni nada parecido, solamente a impresoras para detener trabajos, eliminar impresoras, añadir nuevas. Por supuesto la cuenta de usuario que ejecutará el comando de abrir impresoras tiene permisos limitados.

El equipo ejecuta win xp y ademas conozco la cuenta del admistrador.

¿¿¿Sabeis como puedo limitar la apertura de la carpeta de impresoras????

Gracias,
David.
Responder Con Cita