Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Hewitt Novato
Registrado: Quarta-Feira, 4 de Mai de 2005 Mensagens: 71
|
Enviada: Qua Nov 04, 2015 9:45 pm Assunto: Exibir dados do WinExec do CMD? |
|
|
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 |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9099 Localização: Sinop-MT
|
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qui Nov 05, 2015 8:29 am Assunto: |
|
|
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 |
|
|
Hewitt Novato
Registrado: Quarta-Feira, 4 de Mai de 2005 Mensagens: 71
|
Enviada: Qui Nov 05, 2015 8:59 pm Assunto: |
|
|
Obrigado joemil!
Natanbh1, o código que me passou não funciona no XE6! Inclui a uses Windows e deu erro. =/ |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9099 Localização: Sinop-MT
|
Enviada: Sex Nov 06, 2015 8:20 am Assunto: |
|
|
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 |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Nov 06, 2015 9:05 am Assunto: |
|
|
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 |
|
|
|