PCInfoPoint

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: PCInfoPoint

Beitrag von Thorium »

NicTheQuick hat geschrieben:Ist es unter Windows mittlerweile möglich Mainboard oder CPU auszutauschen, ohne dass man es neu installieren muss? Früher ging das nicht.
Das ging früher mal. Win95 ist der Chipsatz egal. ^^
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PCInfoPoint

Beitrag von ts-soft »

RSBasic hat geschrieben:
ts-soft hat geschrieben:was ist wenn ich den
Prozessor ausgetauscht habe. Die Registry-Werte werden nicht autom. aktualisiert.
Doch werden sie, Windows erkennt es automatisch, ob ein neues Gerät gefunden wurde.
Eine CPU ist kein Plug and Pray Gerät, das autom. erkannt wird!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: PCInfoPoint

Beitrag von edel »

Aktuelle Windows Versionen kommen damit eigentlich sehr gut zurecht.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PCInfoPoint

Beitrag von RSBasic »

Hm, hab erstmal keinen Fehler gefunden.

Hab mal eine Test-EXE erstellt.
Falls jemand, der einen Bluescreen hatte, diese Datei testen "möchte", wär ich sehr dankbar: http://www.rsbasic.de/temp/GetCPUInfRegEx.exe
Es werden insgesamt vier MsgBoxes angezeigt (Name des Prozessors, Takt, Kennung und Anzahl der Kerne).

Es wär schon sehr interessant, nach welchem Message die Kloschüssel abkackt.
Dann weiß ich, wo der Fehler genau liegt.

Falls niemand die Datei ausführt, dann kann ich die Kategorie erstmal komplett rausnehmen und Alternativen suchen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PCInfoPoint

Beitrag von ts-soft »

Hab hier noch 3 alte funktionen für Dich:

Code: Alles auswählen

Procedure GetCPUCount()
  Protected SYSINFO.SYSTEM_INFO
  GetSystemInfo_(@SYSINFO)
  ProcedureReturn SYSINFO\dwNumberOfProcessors
EndProcedure
Procedure.s GetCPUName()
  Protected sBuffer.s
  Protected Zeiger1.l, Zeiger2.l, Zeiger3.l, Zeiger4.l

  !MOV eax, $80000002
  !CPUID
  ; the CPU-Name is now stored in EAX-EBX-ECX-EDX
  !MOV [p.v_Zeiger1], EAX ; move eax to the buffer
  !MOV [p.v_Zeiger2], EBX ; move ebx to the buffer
  !MOV [p.v_Zeiger3], ECX ; move ecx to the buffer
  !MOV [p.v_Zeiger4], EDX ; move edx to the buffer

  ;Now move the content of Zeiger (4*4=16 Bytes to a string
  sBuffer = PeekS(@Zeiger1, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger2, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger3, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger4, 4, #PB_Ascii)

  ;Second Part of the Name
  !MOV eax, $80000003
  !CPUID
  ; the CPU-Name is now stored in EAX-EBX-ECX-EDX
  !MOV [p.v_Zeiger1], EAX ; move eax to the buffer
  !MOV [p.v_Zeiger2], EBX ; move ebx to the buffer
  !MOV [p.v_Zeiger3], ECX ; move ecx to the buffer
  !MOV [p.v_Zeiger4], EDX ; move edx to the buffer

  ;Now move the content of Zeiger (4*4=16 Bytes to a string
  sBuffer + PeekS(@Zeiger1, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger2, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger3, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger4, 4, #PB_Ascii)


  ;Third Part of the Name
  !MOV eax, $80000004
  !CPUID
  ; the CPU-Name is now stored in EAX-EBX-ECX-EDX
  !MOV [p.v_Zeiger1], EAX ; move eax to the buffer
  !MOV [p.v_Zeiger2], EBX ; move ebx to the buffer
  !MOV [p.v_Zeiger3], ECX ; move ecx to the buffer
  !MOV [p.v_Zeiger4], EDX ; move edx to the buffer

  ;Now move the content of Zeiger (4*4=16 Bytes to a string
  sBuffer + PeekS(@Zeiger1, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger2, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger3, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger4, 4, #PB_Ascii)

  ProcedureReturn sBuffer
EndProcedure
Procedure.s GetCPUVendor()
  Protected sBuffer.s
  Protected Zeiger1.l,  Zeiger2.l,  Zeiger3.l

  ! MOV EAX, 0
  ! CPUID
  ; the VendorID is now stored in EBX-EDX-ECX
  ; very important, first move all results to a save place.
  ! MOV [p.v_Zeiger1], EBX  ; move ebx to the buffer
  ! MOV [p.v_Zeiger2], EDX  ; move edx to the buffer
  ! MOV [p.v_Zeiger3], ECX  ; move ecx to the buffer

  sBuffer = PeekS(@Zeiger1, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger2, 4, #PB_Ascii)
  sBuffer + PeekS(@Zeiger3, 4, #PB_Ascii)

  ProcedureReturn sBuffer
EndProcedure

Debug GetCPUCount()
Debug GetCPUName()
Debug GetCPUVendor()
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PCInfoPoint

Beitrag von RSBasic »

Hallo Thomas,


vielen Dank für die ASM-Codes.
Funktioniert einwandfrei.

@X360 Andy & @DrFalo
Wenn ihr den Code von ts-soft kompiliert, funktioniert es bei euch einwandfrei?

Zwar denke ich, dass kein Bluescreen erscheint, aber möchte trotzdem eure Bestätigungen haben.
Wenn die Codes bei euch funktionieren, dann werde ich diese in meinem Programm einbinden und dann kann ts-soft, wenn er möchte, meine Anwendung testen :D

Danke nochmal fürs Posten deiner Codes, Thomas. :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: PCInfoPoint

Beitrag von X360 Andy »

TS Soft´s Code hat geschrieben:2
AMD Turion(tm) X2 Dual-Core Mobile RM-70
AuthenticAMD
Wie gesagt der BlueScreen kam bei mir nur mit manuel eingeschalter UAC (Admin Mode)

@ Deine Test Exe
Funktioniert bis auf 2 Leere Textboxen ohne Probleme ( 1 ,3 leer )
Ohne UAC

Mit UAC gibt 4 volle Textboxen
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PCInfoPoint

Beitrag von RSBasic »

Hallo X360 Andy,


eine Frage hätte ich noch und zwar: Kannst du den ASM-Code ohne Admin-Rechte problemlos ausführen?

PS: Danke fürs Testen meiner EXE-Datei ;)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: PCInfoPoint

Beitrag von X360 Andy »

Jap ohne was am Compiler zu ändern
Antworten