Limitar o acesso às pastas do Explorer apenas ao meu prog.

Delphi

10/03/2003

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

Curtidas 0

Respostas

Anonymous

Anonymous

10/03/2003

se seu sistema de arquivos for FAT esqueca...


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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...


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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

:P


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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...


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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


GOSTEI 0
Eniorm

Eniorm

10/03/2003

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 !!!


GOSTEI 0
Zero.z

Zero.z

10/03/2003

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


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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....


GOSTEI 0
Nildo

Nildo

10/03/2003

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 !


GOSTEI 0
Anonymous

Anonymous

10/03/2003

E como é que desbloqueia depois?


GOSTEI 0
Nildo

Nildo

10/03/2003

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


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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

:cry: :oops: :x


GOSTEI 0
Lady

Lady

10/03/2003

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


GOSTEI 0
Anonymous

Anonymous

10/03/2003

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


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Essa tá dificil... :D :shock: :x :evil: :!: :?: :twisted: :P :? :) :( 8) :oops: :roll: :o :lol: :cry: :wink: :arrow:


GOSTEI 0
Nildo

Nildo

10/03/2003

Realmente é muito difícil. Requer pelo menos 1 semana só para conhecer essa Lib. O que eu disse foi a maneira que os programas que bloqueiam pastas fazem!


GOSTEI 0
Anonymous

Anonymous

10/03/2003

De qualquer forma muiiittttooooo obrigado mesmo, você por acaso não tem um exemplo legal e simples sobre ela???


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Esta pergunta é muito interessante, mas infelizmente não posso ajudá-lo.


GOSTEI 0
Eniorm

Eniorm

10/03/2003

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....



A dica funciona sim!!!!
Que versão de Windows vc usa ?
A dica funciona até no Win9x.
Agora no Win NT, 2000, XP, Me pode esquecer !


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Realmente eu testei no windows 9.x e funcionou, mas como fazer isso via delphi e como desbroquea-la depois...


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Olha eu tente de tudo geito mas não funcionou...


GOSTEI 0
Anonymous

Anonymous

10/03/2003

ALT 196


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Devido a dúvidas eu vou explicar detalhadamente!

Bloquear um arquivo ou pasta:

ren nomeantigo nomenovo [b:bf2c367ba9]ALT+196[/b:bf2c367ba9]

Vê se não vai escrever ALT+196

Digite [b:bf2c367ba9]ren[/b:bf2c367ba9] <espaço> [b:bf2c367ba9]nomeantigo[/b:bf2c367ba9] <espaço> [b:bf2c367ba9]nomenovo[/b:bf2c367ba9][i:bf2c367ba9]ALT+196[/i:bf2c367ba9]

Vc pressiona e segura a tecla [i:bf2c367ba9]ALT[/i:bf2c367ba9]
Digita os números [i:bf2c367ba9]1 9 6[/i:bf2c367ba9]
E solta o [i:bf2c367ba9]ALT[/i:bf2c367ba9]
Pressione <enter> para ativar o comando!

pronto!


GOSTEI 0
Anonymous

Anonymous

10/03/2003

[quote:803d0ea693=´ALT 196´]Devido a dúvidas eu vou explicar detalhadamente!

Bloquear um arquivo ou pasta:

ren nomeantigo nomenovo [b:803d0ea693]ALT+196[/b:803d0ea693]

Vê se não vai escrever ALT+196

Digite [b:803d0ea693]ren[/b:803d0ea693] <espaço> [b:803d0ea693]nomeantigo[/b:803d0ea693] <espaço> [b:803d0ea693]nomenovo[/b:803d0ea693][i:803d0ea693]ALT+196[/i:803d0ea693]

Vc pressiona e segura a tecla [i:803d0ea693]ALT[/i:803d0ea693]
Digita os números [i:803d0ea693]1 9 6[/i:803d0ea693]
E solta o [i:803d0ea693]ALT[/i:803d0ea693]
Pressione <enter> para ativar o comando!

pronto![/quote:803d0ea693]


Funciona em FAT e FAT32
do resto... esqueça!


GOSTEI 0
Anonymous

Anonymous

10/03/2003

Realmente o ALT 196 funciona para bloquear, mas e para desbloquear??????? :D :shock: :x :evil: :!: :?: :twisted: :P :? :) :( 8) :oops: :roll: :arrow: :wink: :cry: :lol: :o


GOSTEI 0
Anonymous

Anonymous

10/03/2003

tenta isso

attrib +h


GOSTEI 0
Eniorm

Eniorm

10/03/2003

tenta isso attrib +h


Se o Windows Explorer estiver configurado para
exibir arquivos ocultos e de sistema o [b:0ec8a37d40]attrib +h nome[/b:0ec8a37d40]
não vai funcionar.
É a mesma coisa que setar a propriedade ´Oculto´ no na janela
´Propriedades´ de um arquivo ou pasta!


GOSTEI 0
Anonymous

Anonymous

10/03/2003

A solução mais simples de fazer isso que vc quer sem tyer um sistema NTFS é simplesmente criptogrfar o conteudo dos seus arquivos....

e pronto.

o pessoal vê seus arquivos, mas nao entende ele se nao tiver a chave

tenho algumas ideias, mas só posso dar por email
afmdkqc@ieg.com.br

se vc quiser a dica

PS.: essa onda do ALT+169 é onda né??
no meu PC ALT + 169 gera o caractere ® e isso não protege NADA, a não ser judicialmente heheheeh


GOSTEI 0
Ibotirama

Ibotirama

10/03/2003

Cara vamos fazer o seguinte, mande-me o seu email e eu t mando os componentes e exemplos de codigos de como monitorar o acesso do sistema a uma pasta.

Lembre-se o Win funciona nun nível mais baixo com mensagens, então qualquer coisa é monitorável. 8)

Abração p9m@bol.com.br


GOSTEI 0
POSTAR