Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con atributo System (https://www.clubdelphi.com/foros/showthread.php?t=77066)

malwkaf 17-12-2011 18:55:19

Ayuda con atributo System
 
Me podria ayudar en lo siguiente....
estoy desarrollando un programa para ocultar archivos y carpetas, pero despues de ocultar quiero darle el atributo system y quede como panel de control o papelera de reciclaje como esta en el siguiente codigo desarrollado en batch

Cita:

attrib -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
Donde queda como panel de control, me gustaria desarrollar esto en delphi, agregar el atributo de system es facil, pero como hago que quede como panel de control.

Cita:

FileSetAttr(fileName, faSysFile)
De antemano muchas gracias por su tiempo.

Casimiro Noteví 17-12-2011 19:31:52

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

malwkaf 17-12-2011 19:42:28

Ahora lo leere, gracias :)

thecidmx 18-12-2011 02:56:05

al agregar al nombre de la carpeta la sintaxis
{20D04FE0-3AEA-1069-A2D8-08002B30309D} para mi pc
{645FF040-5081-101B-9F08-00AA002F954E} para papelera
{208D2C60-3AEA-1069-A2D7-08002B30309D} para mis sitios de red,

o este ejemplo:
var
lpOperation, lpFile, lpParameters, lpDirectory: PChar;
begin
lpOperation:= 'ren';
lpFile:= 'directorio';
lpParameters:= '';
lpDirectory:= '';
ShellExecute(Handle, lpOperation, lpFile, lpParameters, lpDirectory, SW_NORMAL);
end;

tu carpeta es "ejemplo", renombra "ejemplo.{20D04FE0-3AEA-1069-A2D8-08002B30309D}", con eso cuando de doble clic en el directorio ejemplo se abrira mi pc

malwkaf 18-12-2011 03:08:30

thecidmx muchas gracias por tu respuesta, es justo lo que andaba buscando, codeare altiro para ver como funciona... grande :)

malwkaf 18-12-2011 03:52:43

encontre lo siguiente, y hace lo mismo, renombra la carpeta.

MoveFile('DirectorioOriginal', 'DirectorioRenombrado.{20D04FE0-3AEA-1069-A2D8-08002B30309D}');

Que diferencia tiene??. hace exactamente lo mismo.

thecidmx 18-12-2011 05:49:39

otro ejemplo
 
Código Delphi [-]
uses
  ShellApi;

procedure RenameDir(DirFrom, DirTo: string);
var
  shellinfo: TSHFileOpStruct;
begin
  with shellinfo do
  begin
    Wnd    := 0;
    wFunc  := FO_RENAME;
    pFrom  := PChar(DirFrom);
    pTo    := PChar(DirTo);
    fFlags := FOF_FILESONLY or FOF_ALLOWUNDO or
              FOF_SILENT or FOF_NOCONFIRMATION;
  end;
  SHFileOperation(shellinfo);
end;


procedure TForm1.Button1Click(Sender: TObject);
var 
 dire : string;
begin
  dire := Directorio+'.{20D04FE0-3AEA-1069-A2D8-08002B30309D}';
RenameDir(directorio, dire);
end;

la variable directorio la puedes pasar por parametro a tu programa o de un combobox.

thecidmx 18-12-2011 05:51:32

espero te sirva

malwkaf 18-12-2011 16:40:08

Me sirvió mucho, gracias por la ayuda, los había hecho de la siguiente manera...

Código Delphi [-]

var
ruta:String;
Renombra:String;

begin
ruta:=Edit1.Text; //agrego la direccion con OpenDialog
Renombra:=ruta+'.{20D04FE0-3AEA-1069-A2D8-08002B30309D}'

MoveFile ( PChar(ruta), PChar(Renombra) );
end

Y funciona igual, gracias por tu ayuda, haré lo que me dijiste, saludos :)


La franja horaria es GMT +2. Ahora son las 10:13:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi