Página 1 de 2

TAMANHO TOTAL DO HD... NAO É POSSÍVEL ???

Enviado: 22 Jan 2005 09:53
por Reginaldo
Olá pessoal,

Já postei outro tópico sobre o assunto e estou quase desistindo, será que não consigo ler o tamanho total do HD com o CLIPPER ???

Se alguém tive alguma idéia, peço que por favor responda...

Estou presisando URGENTEMENTE!!!

Obrigado,

Enviado: 22 Jan 2005 11:13
por Clipper
Prezado Colega

Com o Windows XP não tem como, no 98/95 você pode usar o comando do DOS CHKDSK.

Até logo.

Marcelo

Enviado: 24 Jan 2005 07:23
por Reginaldo
Olá Pessoal,

Caro Marcelo, obrigado por responder!

A dica do CHKDSK já foi postada em um tópico que escrevi anteriormente.
Mas como eu já disse, preciso de algo que funcione em todas as versões do WINDOWS.

Obrigado,

Enviado: 24 Jan 2005 09:50
por Daniel
vc ja tentou a funcao DiskTotal() da ca tools no 98 funciona

Enviado: 24 Jan 2005 11:27
por Clipper
Uma idéia era pedir para um colega que trabalhe com xHarbour ou C para fazer um programinha que pegue estes dados e retorne em um arquivo texto as informações. Algum de vocês se habilita ?

Até logo.

Marcelo

Enviado: 24 Jan 2005 11:31
por janio
Reginaldo,

Não sei se é o caso, mas tive um problema semelhante que foi resolvido facilmente...

Em uma rotina de backup, eu precisava do comando DELTREE do DOS... no XP não FUNCIONA esse comando... agora... como o DELTREE não é um comando interno do DOS eu copiei o arquivo DELTREE.EXE de um outro computador e coloquei no PATH do meu sistema. FUNCIONOU PERFEITAMENTE.

No caso do CHKDSK é a mesma coisa... ele não é um comando interno do DOS... é só copiar o CHKDSK.EXE e colocar no PATH do seu sistema... NÃO CUSTA NADA TENTAR

Valeu?

Janio

Enviado: 24 Jan 2005 14:51
por Reginaldo
Prezados colegas, obrigado por responder!

Caro Daniel,
A função DISKTOTAL da CA-TOOLS, como outras funções de outras lib´s que encontrei, somente retornam até 2 GB, se o HD for de mas de 2GB, coisa super natural nos dias de hoje... Não funciona...

Caro Marcelo,
Quanto a idéia de solicitar que alguém do fórum que sabe de xHarbour, fizesse um programa para retornar esses dados, bom, já pedi pro VAGNER, ele ficou de fazer, mas até agora...

Caro Janio,
Me parece que o problema do CHKDSK no XP, não é só copiar o CHKDSK.EXE, o caso é que o XP não deixa rodar esse tipo de programa...

Obrigado,

Enviado: 24 Jan 2005 17:15
por Clipper
O XP tem o CHKDSK, ele também retorna informações do HD mas ates ele faz uma varredura nos discos rígidos para verificar problemas (uma espécie de SCANDISK), verifiquei se havia a possibilidade de não executar essa função e só retornar as informações do HD mas não há como.

Até logo.

Marcelo

Enviado: 24 Jan 2005 17:26
por Antonio
Bem,

Fiz um pequeno modulo que retorna um TXT com as informações abaixo, dependendo de onde estiver sendo executado:

Colunas a partir da esquerda.

1ª coluna - cadeia de caracteres, tamanho 18 = Tamanho total do HD ou Disket

2ª coluna - cadeia de caracteres, tamanho 18 = Tamanho Usado do HD ou Disket

3ª coluna - cadeia de caracteres, tamanho 18 = Tamanho Livre do HD ou Disket

4ª coluna - cadeia de caracteres, tamanho 18 = Tamanho Utilizavel do HD ou Disket

Esse pequeno modulo foi feito em HARBOUR, o fonte e o binário estão disponiveis em
http://geocities.yahoo.com.br/harbourmi ... /hbdrv.zip

Espero que ajude. Se houver uma forma de melhorar a aplicação por favor me digam.

Enviado: 24 Jan 2005 18:30
por Clipper
Valeu Antonio !!!

Ficou muito bom, aqui no meu funcionou perfeitamente.

Aproveitei e fiz uma rotina que lê o arquivo texto e os apresenta na tela.

Código: Selecionar todos

CLS
FERASE("DRVINFO.TXT")
// RUNSWPCMD("HBDRVINF.EXE") Para quem usa o Blinker
RUN HBDRVINF.EXE          // Para quem usa o Rtlink
HAND=FOPEN("DRVINFO.TXT")
FSEEK(HAND,1,0)
TAMTOT:=VAL(FREADSTR(HAND,17))
FSEEK(HAND,19,0)
TAMUSA:=VAL(FREADSTR(HAND,17))
FSEEK(HAND,37,0)
TAMLIV:=VAL(FREADSTR(HAND,17))
FSEEK(HAND,55,0)
TAMUTI:=VAL(FREADSTR(HAND,17))
@ 01,00 SAY "Tamanho Total do HD : "+TRANSFORM(TAMTOT,"@E 999,999,999,999,999")
@ 02,00 SAY "Tamanho Usado do HD : "+TRANSFORM(TAMUSA,"@E 999,999,999,999,999")
@ 03,00 SAY "Tamanho Livre do HD : "+TRANSFORM(TAMLIV,"@E 999,999,999,999,999")
@ 04,00 SAY "Tamanho Util  do HD : "+TRANSFORM(TAMUTI,"@E 999,999,999,999,999")
FCLOSE(HAND)
RETURN
Até logo.

Marcelo

Enviado: 24 Jan 2005 19:08
por Antonio
Blz Marcelo!


Limitei-me ao TXT para que o programador desse o melhor tratamento ou tratamento ao seu gosto da informações retornadas.

Enviado: 25 Jan 2005 07:29
por Reginaldo
Valeu Antonio,

Vou baixar e testar, depois volto pra dizer se deu certo...

Obrigado,

Enviado: 25 Jan 2005 08:00
por Reginaldo
Antonio,

Ficou muito bom...

Obrigado,

Enviado: 26 Jan 2005 13:08
por vagucs
Reginaldo, você ficou de me passar pelo e-mail quais as informações você queria e não passou até hoje, então acheiq eu tinha resolvido o problema, mas como o amigo antonio já fez o citado software ai fica a seguinte dica:


Se eu copiar o software para outra máquina ele retornará os valores diferentes, claro.

Porém se eu criar um programa deste que retorne sempre os mesmo valores para o TXT independente de máquina o sistema funcionará em qualquer máquina, ai pronto. O sistema tá crackeado.

Para evitar isto de forma provisória e para dificultar o cracker do seu sistema, faça o checksum do arquivo EXE que trará as informações, assim se ele for modificado o sistema não rodará, não exiba na tela informações do TIPO o PROGRAMA EXTERNO ESTÁ CORROMPIDO, use a mesma informação que você exibiria se os valores do arquivo TXT não forem os esperados.

No final, se quiserem que eu avalie o sistema e tente crackea-lo, entre em contato que terei prazer em lhes servir.

Sem mais
Wagner Nunes
www.vagucs.com.br

Enviado: 26 Jan 2005 15:07
por Reginaldo
Olá pessoal,

Caro Vagner,
Não sei porque não recebeu, mas eu enviei o e-mail.

Quanto ao programa que o antônio fez, ele retorna apenas o tamanho do HD e a proteção que estou desenvolvendo não está baseada somente nisso, ou seja, vou pegar mais dados como o número de fabricação da BIOS, a data da BIOS, o número de série do HD, e outros...

Quanto a um outro programa que jogaria sempre os mesmos valores para o arquivo TXT, bom, seria fácil se eu sempre gerasse o mesmo nome de arquivo TXT mas como ele será gerado com o nome 99999999.TXT e "99999999" é um número randômico, acho que fica mais difícil, ou não ?? E Também somente os dados que eu não conseguir pegar via CLIPPER é que serão gerados em TXT...

Gostei da ideia de fazer um CheckSum nesse arquivo EXE, conhece um bom programa pra isso ?

A respeito dos testes, eu já havia pensado justamente em você para tentar crackeá-lo, deixa ficar pronto e entrarei em contato...

No mais, obrigado pela atenção,

Cordialmente,