| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2009 21:39:41
|
rodrigoran
What is classpath?
Membro desde: 02/02/2008 13:13:37
Mensagens: 7
Offline
|
Boa noite pessoal!
Eu fiz testes com os dois modos de pegar o serial do HD aqui citados, e ambos me retornam um número negativo, não é isso né? O que pode estar errado?
Muito obrigado desde já!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2009 18:05:00
|
Paulo Wassolowski
Smalltalk
Membro desde: 02/07/2009 10:23:27
Mensagens: 1
Offline
|
Pessoal , eu to precisando colcocar este aplicativo pra rodar no browser........estou fazendo um sistema para uso via internet e gostaria de autenticar o usuario , checando a serial do HD. Mas vou lhes dizer, ta dificil de achar a ferramenta certa......
Será que este daria certo? ou vcs tem alguma outra sugestão?
desde ja agradeço a colaboração!
sds
Paulo Wassolowski
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2009 18:17:46
|
beto.wassolowski
Smalltalk
![[Avatar]](/images/avatar/47cd0dad82d80e6545d96c0fe0fe8da1.jpg)
Membro desde: 07/07/2009 18:01:06
Mensagens: 1
Offline
|
Caro heiligerstein,
Esta solução realmente funciona. Como aplicativo. Estou tentando fazer um applet seguindo a mesma ideia. consegui fazela imprimir dentro da pagina html os resultados porem a resposta é NO_DISK_ID e NO_CPU_ID. anterior mente vinha tentando uma solução pra pegar o serial que era em javascript e usava vbs tb mas ocorria o seguinte erro "servidor nao pode criar o objeto" esse erro era justamente na parte que usa "scripting.FSO" e agora com a sua solução consigo fazer imprimir mas o resultado no é prenchido acredito que o problema seja o mesmo com o "FyleSystemOobject". Isso tudo porque estou tentando fazer com queno site, ao usuario acessar o site e fazer o login seja feito um controle por identificação da maquina. Se puder me dar alguma ideia ou mesmo me ajudar a terminar o serviço agradeço, ok.
Vou deixar aqui o arquivo que gerou o applet
############################################
// Java Document
import java.applet.Applet;
import java.awt.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
public class AppletValida extends Applet {
public void init() {}
public static String getHDSerial(String drive) {
String result = "oi";
try {
//File file = File.createTempFile("tmp",".vbs");
File file = File.createTempFile("tmp", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n" + "Set colDrives = objFSO.Drives\n"
+ "Set objDrive = colDrives.item(\"c\")\n" + "Wscript.Echo objDrive.SerialNumber";
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
} catch (Exception e) {
}
if (result.trim().length() < 5 || result == null) {
result = "NO_DISK_ID";
}
return result.trim();
}
//cpu
public static String getCPUSerial() {
String result = "resultado";
try {
File file = File.createTempFile("tmp", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs =
"On Error Resume Next \r\n\r\n" +
"strComputer = \".\" \r\n" +
"Set objWMIService = GetObject(\"winmgmts:\" _ \r\n" +
" & \"{impersonationLevel=impersonate}!\\\\\" & strComputer & \"\\root\\cimv2\") \r\n" +
"Set colItems = objWMIService.ExecQuery(\"Select * from Win32_Processor\") \r\n " +
"For Each objItem in colItems\r\n " +
" Wscript.Echo objItem.ProcessorId \r\n " +
" exit for ' do the first cpu only! \r\n" +
"Next ";
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
} catch (Exception e) {
}
if (result.trim().length() < 1 || result == null) {
result = "NO_CPU_ID";
}
return result.trim();
}
//impressao
public void paint(Graphics g) {
String teste = "testeipm string";
g.drawString("Este é o Serial do seu HDD " + getHDSerial("c") + " :::fimmmmmm", 5, 25);
g.drawString("Meu primeiro Aplicativo em Java::: " + getCPUSerial() + " :::fimmmmmm", 5, 45);
}
}
##################################################
e este é a chamada que vai no html
#############################################
<budy>
Meu Java Applet Informa:
<applet code="AppletValida.class" width="400" height="100"></applet>
</budy>
############################
Se estiver falando bobagem, desculpe-me, pois sou iniciante no assunto...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2011 15:14:21
|
colosos=colossus
JavaChild
![[Avatar]](/images/avatar/26a95a5834c46c93a5c200bfc6da212f.jpg)
Membro desde: 22/06/2009 17:08:26
Mensagens: 130
Localização: Belém
Offline
|
rodrigoran wrote:Boa noite pessoal!
Eu fiz testes com os dois modos de pegar o serial do HD aqui citados, e ambos me retornam um número negativo, não é isso né? O que pode estar errado?
Muito obrigado desde já!
TBM quero saber se é isso mesmo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/03/2011 18:00:52
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Testei e funcinou perfeitamente, cheguei a comparar o restultado com um executável que fiz em Delphi para isso há algum tempo e o valor número é o mesmo, a diferença é que no que fiz em Delphi ele retorna em Exadecimal, neste ele retorna em Decimal.
Muito obrigapo por compartilhar, me ajudou muito!
Abraços!
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2011 15:45:42
|
sabrinah
Entusiasta Java
Membro desde: 30/08/2009 21:53:51
Mensagens: 15
Offline
|
Também testei e tive como retorno um número negativo, alguém sabe explicar se está correto?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/05/2012 09:49:01
|
djpitucco
Smalltalk
Membro desde: 08/05/2012 12:04:42
Mensagens: 1
Offline
|
Tb tive retorno de número negativo, oque fiz foi converter para Hexa, me trouxe o valor certinho do volume do hd
DiskUtils utilConnection = new DiskUtils("C");
int valor = utilConnection.getSerialNumber();
String serial = Integer.toHexString(valor);
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2012 07:35:49
|
erick_vegeta
Smalltalk
Membro desde: 13/05/2012 07:28:38
Mensagens: 1
Offline
|
Para aqueles que como eu pegaram um retorno errado no serial do HD
isto é para windows, gostaria de ver isto multiplataforma....
Who can do it?????
This message was edited 1 time. Last update was at 13/05/2012 07:39:19
|
|
|
 |
|
|