AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Seriennummer der Systemplatte...
Thema durchsuchen
Ansicht
Themen-Optionen

Seriennummer der Systemplatte...

Ein Thema von Z4ppy · begonnen am 9. Okt 2010 · letzter Beitrag vom 28. Apr 2012
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Seriennummer der Systemplatte...

  Alt 27. Apr 2012, 11:32
Zitat:
Ob du das String auch noch in ein AnsiString änderst, ist dir überlassen. (ist vermutlich aber nicht nötig)
Wenn schon, denn schon
Markus Kinzler
  Mit Zitat antworten Zitat
Chriscode

Registriert seit: 18. Aug 2009
32 Beiträge
 
#2

AW: Seriennummer der Systemplatte...

  Alt 27. Apr 2012, 11:42
Ouch, dummer Fehler. Bitte um Verzeihung.

Vielen Dank für die blitzschnelle Hilfe. Man sollte bei c&p halt trotzdem sein Hirn einschalten

Gruß
Chris
Chris
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: Seriennummer der Systemplatte...

  Alt 27. Apr 2012, 18:05
...und immer daran denken:
Unter VISTA und WIN 7 laufen manche Programme nur mit Administratorrechten -> Rechtsklick: Als Administrator ausführen.

Geändert von hathor (27. Apr 2012 um 19:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: Seriennummer der Systemplatte...

  Alt 28. Apr 2012, 09:15
Zitat:
GetPhysicalDriveHandle > GENERIC_READ or GENERIC_WRITE
Wozu werden eigentlich die Schreibrechte benötigt?

Ich dachte es soll nur was ausgelesen werden.

Und besonders das Laufwerk C: und de zugehörige PhysicalDrive0 stehn seit mindestens Windows 7 unter besonderem Schutz.

Währe doch zu schlimmen, wenn jedes Programm einfach so auf der Platte rumschreiben könnte.
PS: Auch das Lesen ist ein Problem, denn damit könnte man schließlich die Schutzmaßnahmen umgehen, also die Zugriffsrechte auf Verzeichnisse und Dateien.
(was, ich hab keinen Zugriff? egal, denn geh ich eben direkt über das Laufwerk)

Eventuell könnte man sogar noch auf das GENERIC_READ verzichten, denn eigentlich soll ja garnicht via ReadFile auf die Daten der Platte zugegriffen werden?
Mit etwas Glück gibt es für Laufwerke auch sowas, wie bei dem Dateisystem? (z.B. ala FILE_READ_EA oder READ_CONTROL)
Volle AdminRechte sind doch auch nicht nötig.
Hab aber zu DeviceIoControl und DFP_RECEIVE_DRIVE_DATA noch nichts finden können, welchen DesiredAccess und was für Privilges benötigt werden.



PS: In einem Windows 7 mit erhöhten Rechten (also auf 'nem Server2008/2001) funktioniert keiner der Codes.
Auch dein fertiges Programm zeigt immer nur "Rechtsklick und so".
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Apr 2012 um 09:37 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: Seriennummer der Systemplatte...

  Alt 28. Apr 2012, 16:11
FILE_SHARE_WRITE entfernt - ändert nichts am Verhalten der EXE.

Ich habe oben den gesamten Code (für LAZARUS) eingefügt.
Vielleicht findet jemand einen Weg, den "Rechtsklick" zu umgehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#6

AW: Seriennummer der Systemplatte...

  Alt 28. Apr 2012, 16:24
FILE_SHARE_WRITE entfernt - ändert nichts am Verhalten der EXE.
GENERIC_WRITE

Andere müssen natürlich Schreibzugriff bekommen können, aber dieser Auslesecode braucht sowas doch wohl nicht?


Zitat:
Vielleicht findet jemand einen Weg, den "Rechtsklick" zu umgehen.
Welchen Rechtsklick?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Apr 2012 um 16:28 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: Seriennummer der Systemplatte...

  Alt 28. Apr 2012, 16:46
hDevice := GetPhysicalDriveHandle( 0, GENERIC_READ or GENERIC_WRITE ); <-- geht
// hDevice := GetPhysicalDriveHandle( 0, GENERIC_READ ); <--- geht nicht

Rechtsklick bedeutet: Als Administrator starten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz