Limitar o acesso às pastas do Explorer apenas ao meu prog.
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]
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
Curtidas 0
Respostas
Anonymous
10/03/2003
se seu sistema de arquivos for FAT esqueca...
GOSTEI 0
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...
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
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.....
coloque um timer no form e na propriedade interval coloque 100 .
heh, erros de digitaçao.....
GOSTEI 0
Anonymous
10/03/2003
Iniciar-> Executar: command [OK]
c:
cd\pasta
del*.*
exit
:P
c:
cd\pasta
del*.*
exit
:P
GOSTEI 0
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...
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
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
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
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 !!!
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
10/03/2003
Enio, + legal do que a pergunta é essa sua dica, simples e funcional. Valeu!!:-)
GOSTEI 0
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....
de qualquer forma muito obrigado....
GOSTEI 0
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 !
É assim que aqueles programas que protegem pastas com senhas fazem !
GOSTEI 0
Anonymous
10/03/2003
E como é que desbloqueia depois?
GOSTEI 0
Nildo
10/03/2003
Deshookando. Lá nos demos da lib tem um que mostra como deshookar
GOSTEI 0
Anonymous
10/03/2003
Cara, baixei lá o componenre mas não funciona...
:cry: :oops: :x
:cry: :oops: :x
GOSTEI 0
Lady
10/03/2003
Aquele jeito com o prompt de comando funciona?
Eu não tive coragem de testar porque nao sei reverter...
Eu não tive coragem de testar porque nao sei reverter...
GOSTEI 0
Anonymous
10/03/2003
Eu testei no geito do prompt mas não deu certo...
GOSTEI 0
Anonymous
10/03/2003
Essa tá dificil... :D :shock: :x :evil: :!: :?: :twisted: :P :? :) :( 8) :oops: :roll: :o :lol: :cry: :wink: :arrow:
GOSTEI 0
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
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
10/03/2003
Esta pergunta é muito interessante, mas infelizmente não posso ajudá-lo.
GOSTEI 0
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
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
10/03/2003
Olha eu tente de tudo geito mas não funcionou...
GOSTEI 0
Anonymous
10/03/2003
ALT 196
GOSTEI 0
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!
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
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!
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
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
10/03/2003
tenta isso
attrib +h
attrib +h
GOSTEI 0
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
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
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
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
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