Avatar billede sw_red_6 Nybegynder
26. september 2007 - 16:16 Der er 24 kommentarer og
1 løsning

Java applet søges, helst opensource

Det er muligvis den forkerte kategori, men jeg kunne ikke finde andre som jeg syntes passede bedre..

Jeg skal have en java-applet, eller et program af en anden type som kan bruges til at hente oplysninger om RAM, CPU osv, osv og sende oplysninger til mig, eller nærmere bestemt ligge dem i en database så vi har dem liggende..

Den skal helst være opensource
Avatar billede arne_v Ekspert
26. september 2007 - 16:29 #1
Det er den helt rigtige kategori for et Java applet spoergsmaal.

Men om det efterspurgte findes er en anden sag.

Mit gaet vil vaere at:
  - bruger skal eksplicit give applet lov til at goere noget udover det applets
    defaults har lov til
  - der skal installeres noget paa PC som applet kan bruge til at skaffe info fra
Avatar billede sw_red_6 Nybegynder
27. september 2007 - 08:47 #2
Ok

Det er nok noget som det du gætter på, vi søger..

Den helt store forhindring er primært at vi ikke har været i stand til at finde noget program/nogen applet som er i stand til at gøre det, men det kan sagtens være pga. forkerte søgeord..

Vi kunne sikkert lave noget selv, men hvis der allerede findes et værktøj der kan løse opgaven, er der ikke rigtig nogen grund til at opfinde den dybe tallerken igen
Avatar billede sw_red_6 Nybegynder
01. oktober 2007 - 10:48 #3
hmm efter lidt ekstra søgning er jeg faldet over WMI (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_start_page.asp)
Er der nogen der ved om det kan bruges i dette tilfælde og om der findes nogen programmer der bruger det som vi kan se nærmere på..
Avatar billede arne_v Ekspert
02. oktober 2007 - 04:27 #4
WMI er absolut en mulighed.

Du kan f.eks.:
1) lade din applet skrive en getinfo.vbs som henter info via WMI
2) lade din applet eksekvere denne og læse output fra den
3) sletter getinfo.vbs igen

Alle tre kræver at brugeren giver applet privs.

Men det kræver ihvertfald ikke nogen installation på maskinerne.
Avatar billede arne_v Ekspert
02. oktober 2007 - 04:45 #5
Til inspiration:

C:\>type sysinfo.vbs
Set wmi = GetObject("winmgmts:")
Set cpus = wmi.ExecQuery("SELECT * FROM Win32_Processor")
For Each cpu In cpus
  Wscript.Echo cpu.DeviceId
  Wscript.Echo Trim(cpu.Name)
  Wscript.Echo cpu.Manufacturer
  Wscript.Echo cpu.Description
  Wscript.Echo cpu.MaxClockSpeed
Next
Set mems = wmi.ExecQuery("SELECT * FROM Win32_PhysicalMemory")
For Each mem In mems
  Wscript.Echo mem.BankLabel
  Wscript.Echo mem.Capacity
Next
C:\>type SysInfo.java
import java.io.*;

public class SysInfo {
    public static void main(String[] args) throws Exception {
        String[] cmd = { "cscript.exe", "sysinfo.vbs" };
        Process p = Runtime.getRuntime().exec(cmd);
        BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }
}

C:\>javac SysInfo.java

C:\>java SysInfo
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

CPU0
Intel(R) Pentium(R) 4 CPU 3.20GHz
GenuineIntel
x86 Family 15 Model 4 Stepping 1
3211
CPU1
Intel(R) Pentium(R) 4 CPU 3.20GHz
GenuineIntel
x86 Family 15 Model 4 Stepping 1
3211
BANK0
536870912
BANK1
536870912
BANK2
536870912
BANK3
536870912
Avatar billede sw_red_6 Nybegynder
02. oktober 2007 - 09:00 #6
Alle tiders. Så mangler jeg bare at finde ud af hvordan man henter IE's opsætning...
Avatar billede arne_v Ekspert
02. oktober 2007 - 16:13 #7
Hvilken opsætning ?

Proxy server ?
Avatar billede sw_red_6 Nybegynder
02. oktober 2007 - 16:57 #8
nej, sikkerhedsindstillingerne..

Der er nogle ting som skal være sat for at vores kunder kan bruge vores produkt.
Det er disse ting som der skal findes.
Det er for at være præcis i zonen "websteder du har tillid til" hvor følgende ting skal ændres (primært IE 7):
- adgang til data på tværs af domæner
- popup blocker
og så er der også 1 ting i "Avanceret" som skal ændres, nemlig:
Vis advarsel, hvis certifikat-adresser ikke stemmer overens
Avatar billede arne_v Ekspert
08. oktober 2007 - 20:57 #9
De ting tror jeg ikke at man skal ændre på.
Avatar billede sw_red_6 Nybegynder
09. oktober 2007 - 08:42 #10
Jeg vil heller ikke ændre på dem i programmet, kun tjekke deres status for at gøre det nemmere at hjælpe vores kunder når de ringer..
Avatar billede arne_v Ekspert
10. oktober 2007 - 04:05 #11
Dim stat(4)
stat(0) = "Enabled"
stat(1) = "Prompt"
stat(3) = "Disabled"
HKEY_CURRENT_USER = &H80000001
Set reg = GetObject("winmgmts:\\.\root\default:StdRegProv")
reg.EnumKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones", allzones
For Each zone In allzones
    Wscript.Echo "zone: " & zone
    reg.GetStringValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & zone, "DisplayName", dn
    Wscript.Echo "name: " + dn
    reg.GetDWORDValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & zone, "1406", ad
    Wscript.Echo "cross domain:" & stat(ad)
    reg.GetDWORDValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & zone, "1809", ad
    Wscript.Echo "popup blocker:" & stat(ad)
Next
Avatar billede sw_red_6 Nybegynder
15. oktober 2007 - 11:25 #12
hmm det ser interessant ud, men der er et problem ved det..
Vi har ikke de nødvendige ressourcer i firmaet til selv at lave det hvilket er grunden til at jeg ønskede en færdig løsning..

Hvis jeg så alligevel skal gøre et forsøg, hvad vil så være det nemmeste at gå til?
Der er jo mulighed for at lave det i C++, C#, VB, J# bl.a, men hvad er nemmest at komme i gang med?
Avatar billede arne_v Ekspert
16. oktober 2007 - 02:35 #13
Den kan kaldes på samme måde som den anden.
Avatar billede sw_red_6 Nybegynder
16. oktober 2007 - 08:48 #14
ahh det ser ganske udmærket ud, men hvordan kan jeg få de info den popper op med sendt vist på en hjemmeside? evt. gemme det i en fil som vores kunder sender til os, eller endnu bedre en fil som kan tilgås af noget applet som vi har liggende på en hjemmeside...
Avatar billede arne_v Ekspert
17. oktober 2007 - 04:08 #15
Ligesom med det første: du lader appletten læse output fra scriptet.

Det kan så vises af appletteten i et JTextArea eller sendes tilbage til serveren.

Jeg vil anbefale det første for at undgå etiske problemer.
Avatar billede sw_red_6 Nybegynder
17. oktober 2007 - 08:56 #16
ahh, dvs jeg skal bruge SysInfo.java til at "køre" vbs-filen..

jeg har ikke lige en java compiler liggende i øjeblikket, men det skal jeg da lige have kigget lidt på.

Tak for hjælpen
Avatar billede sw_red_6 Nybegynder
17. oktober 2007 - 10:25 #17
hmm jeg tror jeg læser din kode forkert..
Jeg har forsøgt at tilføje lidt til koden så jeg kan få domæner der er i "websteder, du har tillid til".. Jeg kan godt få domænenavnet, men jeg kan ikke få det til at vise status for om der er med og/eller uden http og https, hvilket ligger som REG_DWORD...

Jeg har tilføjet det her:
reg.EnumKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zonemap\domains", domainer
For Each domain in domainer
    wscript.Echo "dom: " & domain
    reg.GetDWORDValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zonemap\domains\" & domain, "http", ad
    Wscript.Echo "cross domain:" + ad
next

Hvad er det der er forkert der?
Avatar billede sw_red_6 Nybegynder
17. oktober 2007 - 10:36 #18
ahh lige meget det skulle være & i stedet for +
Avatar billede arne_v Ekspert
18. oktober 2007 - 04:28 #19
Ja og SysInfo.java skal konverteres til SysInfoApplet.java !
Avatar billede arne_v Ekspert
18. oktober 2007 - 04:29 #20
Jeg kan avt. prøve at bixe et komplet eksempel i weekenden.
Avatar billede sw_red_6 Nybegynder
18. oktober 2007 - 09:47 #21
øh, nogen speciel grund til at den skal hedde SysInfoApplet.java?

Det ville være alle tiders hvis du kunne finde tid til at lave et komplet eksempel
Avatar billede arne_v Ekspert
19. oktober 2007 - 01:32 #22
Navnet er ligegyldigt men Java kode skal omskrives fra app til applet !
Avatar billede sw_red_6 Nybegynder
07. november 2007 - 14:37 #23
Har du haft tid til at finde ud af noget endnu?
Avatar billede sw_red_6 Nybegynder
13. august 2009 - 16:26 #24
Dette er ikke længere aktuelt for mig.. Hvis andre skulle få brug få den applet må de snakke med arne_v.

Jeg lukker spørgsmålet. Hvis der skal uddeles point skal jeg have nogle svar...
Avatar billede arne_v Ekspert
14. august 2009 - 03:31 #25
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester