Tamanho total do HD (em bytes)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Reginaldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 71
Registrado em: 14 Jul 2004 08:06
Localização: Lagoa da Prata - MG
Contato:

Tamanho total do HD (em bytes)

Mensagem por Reginaldo »

Olá pessoal,

Alguem conhece uma rotina que possa pegar o tamanho total do HD ?
Testei a DISKTOTAL() da CA-TOOLS mas não funcionou muito bem, pois, o meu HD é de 40GB e ela retornou algo em todno de 20GB.

Obrigado,
Reginaldo J. Silva
Analista de Sistemas
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

No Windows 95/98/ME você pode usar o CHKDSK

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Reginaldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 71
Registrado em: 14 Jul 2004 08:06
Localização: Lagoa da Prata - MG
Contato:

Mensagem por Reginaldo »

Prezado Marcelo,

Obrigado por responder!
A sua sugestão é boa, mas preciso de uma rotina que eu possa usar em qualquer sistema operacional.

Cordialmente,
Reginaldo J. Silva
Analista de Sistemas
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

idem

Mensagem por Mário Isa »

Alô Sollus Informática
Eu também estou procurando essa rotina.
Pensei em utilizar sysinfo.exe um programa que lê e escreve num .txt várias informações de um computador como tamanho do hd, da memória etc.

Porém teria que ser um sysinfo.exe for DOS para que eu possa executá-lo de dentro de meu programa e que leia qq computador.

Vc achou alguma coisa?
Mário
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Parcero... não sei exatamente qual o seu objetivo... mais o DISKSPACE() será que não te ajuda ??
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

diskspace() retorna o tamanho errado é como so pudesse ler 2gb de hd, e isso se repete com varias outras libs com funcoes que retornem o tamanho do hd !

venho tentando isso ha muito tempo e deixei pra la, até que:

(sei que este setor é do clipper) no harbour diskspace() retorna perfeito !

valeu
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

idem

Mensagem por Mário Isa »

não colega!
minha intenção é montar uma proteção baseada nos dados do computador.

Se eu tiver os dados do computador presente como tamanho de hd, da memória, marca do hd, marca da placa mãe, velocidade do processador, etc.

Posso determinar que meu programa só rodará num computador que tenha aquele tamanho de hd, aquela marca de hd aquela marca de mb aquela veloc proc entende?

E assim, se alguém levar o programa para outro computador ele terá que ter um computador igualzinho aquele. entende?
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Boa Tarde

http://geocities.yahoo.com.br/dudu_xbase/informer.zip
Para usar ele para jogar num arquivo
INformer /r teste.txt

Tb tem esse
http://geocities.yahoo.com.br/dudu_xbase/diskinfo


Acessem esse link tem uma porrada de programa em ms-dos
para fazer divesas coisas inclusive tem um lista no link /pc/sysinfo ..

Acessem e tomem nota..
http://garbo.uwasa.fi/pc/


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Nesse caso... pegue então a última versão aqui agora c/ novo nome "ASTRA": http://www.sysinfolab.com/download.htm

É excelente...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Reginaldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 71
Registrado em: 14 Jul 2004 08:06
Localização: Lagoa da Prata - MG
Contato:

Mensagem por Reginaldo »

Olá pessoal,

Quero agradecer as sugestões, vou testá-las e volto pra contar como foi.

Obrigado!!!
Reginaldo J. Silva
Analista de Sistemas
Reginaldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 71
Registrado em: 14 Jul 2004 08:06
Localização: Lagoa da Prata - MG
Contato:

!!! TESTES REALIZADOS !!!

Mensagem por Reginaldo »

Olá pessoal,

Realizei alguns testes com os programas sugeridos, segue abaixo os resultados:

- DISKINFO -> Não roda em todas as versões do WINDOWS

- INFORMER -> Nada estável, na 1ª máquina travou, na 2ª detectou
várias informações, mas não conseguiu detectar o tamanho do HD. E
também não encontrei um modo de rodar e enviar para um arquivo TXT
que eu possa ler de dentro do meu programa.

- ASTRA32 -> Excelente! Mas nada a ver com o que preciso, realmente
detecta todas as informações, mas quero algo que posso rodar de
dentro do meu programa e pegar o resultado...

Estive pensando, Trazon disse que DISKSPACE() em harbour funciona bem, talvez alguém poderia fazer um pequeno programa em harbour, e então poderiamos chamar o EXE de dentro do programa com o RUN e esse executável iria gerar essas informações do computador num arquivo texto.

Se alguém tiver mais alguma sugestão, mande pra que eu possa testar, desde já agradeço a atenção de todos...

Cordialmente,
Reginaldo J. Silva
Analista de Sistemas
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Reginaldo,

Mande para meu e-mail uma relação de todas as informações que você precisa que montarei um pequeno programa que lhe entrega estas informações para um arquivo, ai disponibilizamos aqui.

Sem mais
Wagner Nunes
www.vagucs.com.br
Sem mais
Wagner Nunes
www.vagucs.com.br
Domenico
Usuário Nível 1
Usuário Nível 1
Mensagens: 41
Registrado em: 02 Out 2004 16:03
Localização: São Paulo
Contato:

Sugestão

Mensagem por Domenico »

Apenas uma sugestão.

Porque ler o tamanho do HD?

Porque não ler as variaveis de ambiente?

O clipper possui a função GetEnv() a qual lê as variaveis de ambiente, alem disto vc pode criar variáveis de ambiente segundo seus critérios e serem checados por GenEnv() através da programação normal do clipper.

Para conhecer as variáveis de ambiente e seus valores, na linha de comando digite:

SET

se precisar de uma pequena ajuda digite

SET /?

Espero ter contribuído, se não para a sua solução, talvez para outra.
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

O tamanho do HD tem um problema, se tira este valor pela tabela de alocação, vez por outra ocorre alguns erros em que o tamanho da HD dá uma diferença em bytes do correto, isso vai dependendo do BUG que pode atingi-la, isso já aconteceu comigo, porém existem inumeras outras formas de se identificar um computador.
Sem mais
Wagner Nunes
www.vagucs.com.br
Reginaldo
Usuário Nível 2
Usuário Nível 2
Mensagens: 71
Registrado em: 14 Jul 2004 08:06
Localização: Lagoa da Prata - MG
Contato:

Mensagem por Reginaldo »

Olá Pessoal,

Domenico e Vagner, obrigado por responder...

Caro Domenico,
Talvez vc não tenha entendido qual é meu objetivo, o que eu preciso é de ler dados de um computador e gravá-los criptografados em um arquivo, através de um contra-senha, formando assim um sistema de proteção contra cópia do meu programa. Já tenho todo o esquema analisado, só preciso coletar o máximo de dados do computador. Bom, quanto a variáveis do sistema eu as utilizo e as domino bem, mas nesse caso não resolveriam, pois basta que o AUTOEXEC seja copiado e lá se foi a proteção.

Caso Vagner,
Como já lhe disse antes, preciso coletar o máximo de dados do computador, porém, dados que sejam confiáveis, até o momento, consegui número de série do HD (nº de formatação), e quantidade máxima de memória.
Sei que a maioria dos dados como número de série do HD, tamanho do HD, quantidade de memória, número da BIOS, e outros podem ser uns alterados, outros existem mais de um computador com mesmo número, que é o caso da BIOS, mas como já foi dito nenhuma proteção é 100%.

Hoje utilizo o HANDPROT 4.02, mas tem me dado muita dor de cabeça, a grande maioria dos meus atendimentos hoje se refere a problemas com essa proteção. Claro que não tenho a intensão de criar uma proteção tão complexa como a do HANDPROT, mas quero fazer a melhor possível...

Cordialmente,
Reginaldo J. Silva
Analista de Sistemas
Responder