Fórum Limitar o acesso às pastas do Explorer apenas ao meu prog. #143980

10/03/2003

0

Olá, preciso saber como faço para proteger uma pastar do explorer exemplo: c:\teste fazendo com que a mesma passe a ser acessada somente pelo meu sistema...


se você souber você realmente tem algo que poucos tem, pois ninguém conseguiu responder até agora... :cry: :wink: :roll: :oops: 8) :(

[i:29604cbb94][b:29604cbb94][color=red:29604cbb94]Título editado.[/color:29604cbb94][/b:29604cbb94][/i:29604cbb94]


Anonymous

Anonymous

Responder

Posts

10/03/2003

Anonymous

se seu sistema de arquivos for FAT esqueca...


Responder

Gostei + 0

10/03/2003

Anonymous

cara, a soluçao disso é meio que cabulosa. veja o que eu faria.
para nao acessar a pasta, usaria o seguinte:
coloque um clock no como 100 .
no evento ontimer, coloque a seguinte rotina:
PostMessage(FindWindow(nil, ´titulo da pasta´), WM_CLOSE,0,0);

essa rotina funciona assim: ela fecha a pasta pelo nome escrito na barra de titulo.
assim, para mudar qual programa fechar, exemplo calculadora mude a opçao acima para calculadora.
com esse evento no ontimer, ele atualiza a cada 1/10 de segundo, é bastante bom. isso impediria alguem de abrir pelo explorer ou algo do tipo.

agora para acessar, use um componente que faça esse acesso, exemplo:
o delphi tem um componente que é usado para acessar sites, este é o webbrowser da palheta internet. coloque ele no form e no botao que vai abrir a pasta coloque o seguinte codigo:

webbrowser1.navigate(´c:\pasta´);

com isso aparece a pasta igual é no windows explorer.
obs: voce pode usar outros componentes, mas indico este.

espero que eu tenha solucionado.
qualquer coisa, mande um e-mail pra mim em davicdc@yahoo.com.br
falou...


Responder

Gostei + 0

10/03/2003

Anonymous

foi mal, a 3ª linha da mensagem acima é:
coloque um timer no form e na propriedade interval coloque 100 .
heh, erros de digitaçao.....


Responder

Gostei + 0

10/03/2003

Anonymous

Iniciar-> Executar: command [OK]
c:
cd\pasta
del*.*
exit

:P


Responder

Gostei + 0

10/03/2003

Anonymous

Cara,

muito obrigado pela sua ajuda, mas na verdade eu quero que quando a minha aplicação estiver fechada, ninguém consiga abrir a pasta...

por exemplo não quero que ninguém acesse a minha base de dados pelo explorer entendeu...

mesmo assim agradeço a atenção dispensada e peço-lhe que se tiver algo a mais ficarei grato em receber...


Responder

Gostei + 0

10/03/2003

Anonymous

simples, foi mal esqueci o mais importante.
aquela parte de atualizar e deixar sempre fechada a pasta, pode ser um outro programa, que inicia quando o computador liga, automaticamente.
para isso, faça o seguinte:

coloque no oncreate do form o seguinte:

//Liga automaticamente
Reg:=TRegIniFile.Create(´fechapasta´);
{HKEY_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run}
S:=ExtractFileDir(Application.ExeName);
S2:=ExtractFileName(Application.ExeName);
S:=S+´\´+S2;
reg.RootKey:=HKEY_Local_Machine ;
reg.Openkey (´\Software\Microsoft\Windows\CurrentVersion´,false);
reg.WriteString(´Run´, ´fechapasta´, s);

declare:
uses registry;
e antes de implementation:

var reg:TRegIniFile;
no var que tem lá.

para nao aparecer na barra do windows, coloque o seguinte codigo no onshow do form principal:

var
H : HWnd;
begin
H := FindWindow(Nil,´Project1´); {troque project1 pelo nome do seu projeto}
if H <> 0 then ShowWindow(H,SW_HIDE);
end;

e para o programa ficar invisivel, coloque o seguinte codigo antes de application.run no fonte do PROJETO

Application.ShowMainForm := False;


é isso, espero que seja isso. tudo isso que eu disse funciona.
falou. conte comigo. qualquer coisa, me contacte em davicdc@yahoo.com.br


Responder

Gostei + 0

10/03/2003

Eniorm

Legal essa tua pergunta.

Se o sistema de arquivos for FAT ou FAT32 vc pode bloquear que
a pasta ou arquivo seja aberto da seguinte forma, usando o Prompt de Comando apenas:

[b:4f941a3fe6]ren nomedapasta nomenovo ALT 196[/b:4f941a3fe6]

ou seja, vc digita [b:4f941a3fe6]ren[/b:4f941a3fe6] mais o [b:4f941a3fe6]nomedapasta[/b:4f941a3fe6] mais o [b:4f941a3fe6]nomenovo[/b:4f941a3fe6] mas a sequencia de teclas [b:4f941a3fe6]ALT+196[/b:4f941a3fe6]

agora tente impletentar isso no seu programa !!!


Responder

Gostei + 0

11/03/2003

Zero.z

Enio, + legal do que a pergunta é essa sua dica, simples e funcional. Valeu!!:-)


Responder

Gostei + 0

11/03/2003

Anonymous

Tentei o ALT 196 mas não deu certo, consigo ver o conteúdo da pasta do mesmo geito, o legal é que com os arquivos dá certo.

de qualquer forma muito obrigado....


Responder

Gostei + 0

11/03/2003

Nildo

Você deve hookar o sistema operacional. Cada vez que for alterado o CurrentDir (voce sera notificado pela DLL do hook), você deve cancelar a ação. É meio complicado, mas é muito legal trabalhar com hook. Tem uma lib muito lokca com exemplos que eu uso. Qualquer coisa me avise que eu ajudo ! www.madshi.net
É assim que aqueles programas que protegem pastas com senhas fazem !


Responder

Gostei + 0

11/03/2003

Anonymous

E como é que desbloqueia depois?


Responder

Gostei + 0

11/03/2003

Nildo

Deshookando. Lá nos demos da lib tem um que mostra como deshookar


Responder

Gostei + 0

11/03/2003

Anonymous

Cara, baixei lá o componenre mas não funciona...

:cry: :oops: :x


Responder

Gostei + 0

11/03/2003

Lady

Aquele jeito com o prompt de comando funciona?
Eu não tive coragem de testar porque nao sei reverter...


Responder

Gostei + 0

11/03/2003

Anonymous

Eu testei no geito do prompt mas não deu certo...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar