Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citanje serijskog broja HDD

[es] :: Java :: Citanje serijskog broja HDD

[ Pregleda: 1242 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Jovana_87_Bg
Jovana Nikolic
Student

Član broj: 295039
Poruke: 53
*.dynamic.isp.telekom.rs.



Profil

icon Citanje serijskog broja HDD05.01.2013. u 12:50 - pre 137 meseci
Pronasla sam kod na internetu za citanje ser. broja HDD. Probala sam kod, medjutim javlja se greska:
Code:

private DiskUtils() {} / U ovom redu koda se javlja greska: "invalid method declaration; return type required"


Jel neko zna kako da resim ovaj problem? U koliko neko ima da predlozi neki drugi nacin za citanje ser. broja HDD, ili procesora neka napise. Evo celog koda:

Code:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hddserialnumber;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
 *
 * @author Dejan
 */
public class HDDSerialNumber {
private DiskUtils() {} // RED SA GRESKOM
   public static String getSerialNumber(String drive) {
       
  String result = "";
    try {
      File file = File.createTempFile("realhowto",".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(\"" + drive + "\")\n"
                  +"Wscript.Echo objDrive.SerialNumber";  // see note
      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){
        e.printStackTrace();
    }
    return result.trim();
  }
    public static void main(String[] args) {
    String sn = DiskUtils.getSerialNumber("C");  
    javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
         null, sn, "Serial Number of C:",
         javax.swing.JOptionPane.DEFAULT_OPTION);
    }
}
 
Odgovor na temu

ByteCode
Byte Code
Beograd

Član broj: 298867
Poruke: 21
*.aDSL.Verat.Net.

Sajt: speedy-order.com


+22 Profil

icon Re: Citanje serijskog broja HDD06.01.2013. u 11:27 - pre 137 meseci
Klasa ti se nekada zvala DiskUtils a ti si je verovatno promenila da se zove HDDSerialNumber , pa je ono ostatak od predhodne klase. mozes da obrises tu liniju ili da je promenis ime klase u DiskUtils ili ime tog konstruktora u HDDSerialNumber
 
Odgovor na temu

ByteCode
Byte Code
Beograd

Član broj: 298867
Poruke: 21
*.aDSL.Verat.Net.

Sajt: speedy-order.com


+22 Profil

icon Re: Citanje serijskog broja HDD06.01.2013. u 11:34 - pre 137 meseci
A ovako generalno mogu samo da ti kazem 2 stvari :),
1. To tvoje resenje ce raditi samo na windowsima, nece raditi ni na Mac-u ni na Linuxu.
2. Hakovanje java aplikacija je veoma lako, mnogo lakse nego neki exe fajl. hint (http://javasvet.rs/doc/28/re-bytecode-manipulacija.html ) ili samo pogledas http://commons.apache.org/bcel/ generalno svaku java aplikaciju malo iskusniji java progarmer moze da ohakuje za jedno poslepodne. Ako zelis da to bude bezbedno, jedino resenje je da stavis sve na neki server na internetu, pa da klijenti pristupaju preko web browsera, ili sa druge strane da napravis web servis, a da klijenti zovu iz svoje aplikacije web servis. Sve ostalo je zamlacivanje i preterano gubljenje vremena.
 
Odgovor na temu

[es] :: Java :: Citanje serijskog broja HDD

[ Pregleda: 1242 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.