ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Exibir dados do WinExec do CMD?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Hewitt
Novato
Novato


Registrado: Quarta-Feira, 4 de Mai de 2005
Mensagens: 71

MensagemEnviada: Qua Nov 04, 2015 9:45 pm    Assunto: Exibir dados do WinExec do CMD? Responder com Citação

Galera, para fazer um sisteminha de autorização de uso, preciso pegar o o numero do volume do HD C: instalado na máquina. Estou usando esse comando:

Código:
WinExec('cmd /K vol c:', SW_SHOW);


Está funcionando corretamente, mas queria que mostrasse num Label ou Memo ou ate uma showmessage. Existe alguma maneira?

Desde já agradeço!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Qui Nov 05, 2015 8:28 am    Assunto: Responder com Citação

veja estes links:

http://www.activedelphi.com.br/forum/viewtopic.php?t=67587&sid=79715d9ea71e536f92f843d898557757

http://www.delphipages.com/forum/showthread.php?t=212208

http://www.activedelphi.com.br/forum/viewtopic.php?t=87651&sid=5ab00052532134c2a15dc5396fcbc86e
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qui Nov 05, 2015 8:29 am    Assunto: Responder com Citação

Utilize esta função:

Código:
Function ExtractDiskSerial(Drive: String): String;
Var
  Serial: DWord;
  DirLen, Flags: DWord;
  DLabel: Array [0 .. 11] of Char;
begin
  GetVolumeInformation(PChar(Drive + ':\'), DLabel, 12, @Serial, DirLen, Flags, nil, 0);
  Result := IntToHex(Serial, 8);
end;


Para usar:

Código:
ShowMessage(ExtractDiskSerial('C'));


Fonte: http://www.devmedia.com.br/dicas-lendo-o-volume-do-hd/5953
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Hewitt
Novato
Novato


Registrado: Quarta-Feira, 4 de Mai de 2005
Mensagens: 71

MensagemEnviada: Qui Nov 05, 2015 8:59 pm    Assunto: Responder com Citação

Obrigado joemil!

Natanbh1, o código que me passou não funciona no XE6! Inclui a uses Windows e deu erro. =/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9099
Localização: Sinop-MT

MensagemEnviada: Sex Nov 06, 2015 8:20 am    Assunto: Responder com Citação

Hewitt escreveu:
Obrigado joemil!

Natanbh1, o código que me passou não funciona no XE6! Inclui a uses Windows e deu erro. =/


posta o erro
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Sex Nov 06, 2015 9:05 am    Assunto: Responder com Citação

Testei a função aqui e funcionou no Delphi XE5.

Talvez o problema no seu caso foi ter declarado Windows apenas.

Declare WinApi.Windows.

Nas novas versões do Delphi, dependendo da configuração você precisa adicionar o prefixo antes de cada unit da uses.

Se não funcionar, poste a mensagem de erro.
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB