TinTin Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 ich würde gerne harware infos, wie z.b. cpu seriennummer, hd seriennummer board nr auslesen, ist das möglich mit der cpu usw.? kann mir jemand weiterhelfen, ist für die projektarbeit... cu TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 Hi, also die HD Seriennummer kannste ueber GetVolumeInformation bekommen, aber mehr weiss ich nu grad so auf die schnelle auch nicht.......ich glaub aber vor allem mit der CPU SN wirds etwas schwieriger.....konnte man die nicht abschalten oder so? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Eight Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 Zum Thema CPU Informationen: versuch doch mal die Funktion 'GetSystemInfo()' SYSTEM_INFO sysInfo; GetSystemInfo( &sysInfo ); sonstige Informationen zur CPU (wie: Geschwindigkeit; Hersteller etc. ) findest du in der Registry im Schlüssel: "HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0" hier einfach auslesen. Hoffe, ich konnte helfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 Hmmm Seriennummer von der CPU gibts aber in der Registry keine oder? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Eight Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 Leider nicht.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gugelhupf Geschrieben 18. April 2002 Teilen Geschrieben 18. April 2002 Also um Infos übers Board auszulesen, musste ich im Betrieb mal was machen, Wir mussten nen String aus dem HMI-Bereich auslesen. Dort stehen standardmässig auch alle anderen Boarddaten drin. Vielleicht kannst ja was brauchen. Code mit TASM und TLINK !! ;************************************** ; STRINGS ;************************************** DATEN SEGMENT NFEXONE DB "!!!!!!!!!!! exone fehlt !!!!!!!!!!!","$" FEXONE DB "exone gefunden !","$" FEXTRA DB "extracomputer gefunden !","$" NFEXTRA DB "!!!!!!!!!!! extracomputer fehlt !!!!!!!!!!!","$" STRING1 DB "exone","$" STRING2 DB "extracomputer" STRREADINDEX DW 1 DUP(0) STRREADINDEXOFFSET DW 1 DUP(0) STRLEN DW 1 DUP(0) STRPOINTER DB 1 DUP(0) TABLEOFFSET DW OFFSET STRING1 DW OFFSET STRING2 DW OFFSET NFEXONE DW OFFSET FEXONE DW OFFSET FEXTRA DW OFFSET NFEXTRA DATEN ENDS ;************************************** ; CODE SEGMENT ;************************************** CODE SEGMENT ASSUME CS:CODE,DS:DATEN,ES:NOTHING START: ;************************************** ; Initialisierungen ;************************************** MOV AX,DATEN MOV DS,AX ; Stackpointer einrichten ;******** nach exone suchen ********* MOV [sTRREADINDEX],00H; Index des Strings auf Null setzen MOV DX,0E000H ; Segmentadresse setzen MOV ES,DX ; diese in es speichern MOV BX,00000H ; Offset in BX ablegen MOV DX,ES:BX MOV [sTRREADINDEXOFFSET],00H MOV [sTRLEN],04H CALL FINDSTRING ; nach "exone" suchen JE EXONEFOUND ; gefunden ? MOV AH,02H MOV DL,07H INT 21H MOV BX,04H ; Offset des Strings aus Tabelle setzen CALL SHOWMESSAGE ; nein ! Meldung ausgeben ;******** nach extracomputer suchen ********* EXTRACOMPUTERSEARCH: MOV [sTRREADINDEXOFFSET],02H MOV [sTRREADINDEX],00H; Index des Strings auf Null setzen MOV [sTRLEN],0CH MOV DX,0E000H ; Segmentadresse setzen MOV ES,DX ; diese in es speichern MOV BX,0000H ; Offset in BX ablegen MOV DX,ES:BX CALL FINDSTRING ; nach "extracomputer" suchen MOV DL,0AH ; Zeichen in Register für Ausgabe MOV AH,02H ; positiv INT 21H ; Zeichen ausgeben MOV DL,0DH ; Zeichen in Register für Ausgabe MOV AH,02H ; positiv INT 21H ; Zeichen ausgeben JE EXTRAFOUND ; gefunden ? MOV AH,02H MOV DL,07H INT 21H MOV BX,0AH ; Offset des Strings aus Tabelle setzen CALL SHOWMESSAGE ; nein ! Meldung ausgeben ENDE: MOV AH,4CH INT 21H EXONEFOUND: MOV BX,06H ; Offset des Strings aus Tabelle setzen CALL SHOWMESSAGE JMP EXTRACOMPUTERSEARCH EXTRAFOUND: MOV BX,08H ; Offset des Strings aus Tabelle setzen CALL SHOWMESSAGE JMP ENDE SHOWMESSAGE PROC NEAR MOV AX,DATEN MOV DS,AX MOV DX,[TABLEOFFSET+BX] MOV AH,9H INT 21H RET SHOWMESSAGE ENDP ;************************************** ; SUCHROUTINE ;************************************** FINDSTRING PROC NEAR PUSH BX MOV BX,[sTRREADINDEXOFFSET] ; Offset für Stringtabelle holen MOV CX,[TABLEOFFSET+BX] ; Pointer auf String in CX POP BX PROCSTART: PUSH BX CMP BX,0FFFEH ; sind wir am Segmentende ? JE SEGENDE MOV DX,ES:BX ; Speicheradresse in... MOV AX,DX ; AX speichern MOV BX,CX MOV DX,[sTRREADINDEX] ADD BX,DX CMP AL,[bX] ; Vergleich der Zeichen POP BX ; physikalischen Offset wieder holen JE MATCH CMP [sTRPOINTER],01H ; war schon etwas gefunden worden ? JNE WEITER DEC BX ; Zeiger auf Speicher wird hier nicht erhöht ! MOV [sTRPOINTER],00H ; wieder Flag setzen, dass z.Zt. keine Übereinstimmung herrscht ! WEITER: INC BX MOV DX,[sTRREADINDEXOFFSET] MOV [sTRREADINDEX],DX ; Indexierung wieder von vorn ! JMP PROCSTART MATCH: MOV AX,[sTRLEN] ;MOV AX,[sTRREADINDEX] CMP [sTRREADINDEX],AX ; sind wir am Ende ? JE SUCCESS ; Übereinstimmung gefunden ! MOV [sTRPOINTER],01H ; wir haben was gefunden...Flag muss gesetzt werden INC [sTRREADINDEX] ; Indexierung erhöhen ! INC BX JMP PROCSTART SEGENDE: POP BX MOV AX,ES CMP AX,0E000H ; sind wir noch im 1. Segment ? JE NEXTSEG MOV AX,00H ; FALSE zurückliefern CMP AX,01H RET NEXTSEG: MOV DX,0F000H ; Segmentadresse setzen MOV ES,DX ; diese in es speichern MOV BX,00000H ; Offset in BX ablegen MOV DX,[sTRREADINDEXOFFSET] MOV [sTRREADINDEX],DX ; Indexierung wieder von vorn ! JMP PROCSTART SUCCESS: RET FINDSTRING ENDP ;************************************** CODE ENDS END START Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.