AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Aufruf von Windows Snipping Tool und Remotehilfe
Thema durchsuchen
Ansicht
Themen-Optionen

Aufruf von Windows Snipping Tool und Remotehilfe

Ein Thema von Bornholdt · begonnen am 30. Jan 2018 · letzter Beitrag vom 31. Jan 2018
Antwort Antwort
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#1

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:33
Sage mir bitte mal wo liegt der Unterschied zwischen LongBool oder BOOL.. Vom sichtbaren mal abgesehen.
Denn beides ist das gleiche.
Oh, du hast recht. Hab ich mit Boolean verwechselt, das nur ein Byte groß ist, LongBool (und BOOL) ist aber 4 Byte.

Zitat:
Nein ich denke der weg über die registry ist die bessere Alternative.
Zitat:
Note that this technique is not a reliable way to detect whether the operating system is a 64-bit version of Windows because the Kernel32.dll in current versions of 32-bit Windows also contains this function.
Äh, ja und jetzt rate mal, was die Funktion auf einem 32 bit Windows zurückgibt... Tip: immer False. [ADD]Zudem bezieht sich dieser Satz auf die beiden vorhergehenden, in denen es darum geht, die Funktion dynamisch mit GetProcAddress zu ermitteln - und das allein ist kein sinnvoller Weg, um zu ermitteln, ob es ein 64 bit OS ist. Nur der Aufruf der Funktion ist es.[/ADD]

Grüße
Dalai

Geändert von Dalai (31. Jan 2018 um 17:37 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:36
Sage mir bitte mal wo liegt der Unterschied zwischen LongBool oder BOOL.. Vom sichtbaren mal abgesehen.
Denn beides ist das gleiche.
Oh, du hast recht. Hab ich mit Boolean verwechselt, das nur ein Byte ist, LongBool (und BOOL) ist aber 4 Byte.

Zitat:
Nein ich denke der weg über die registry ist die bessere Alternative.
Zitat:
Note that this technique is not a reliable way to detect whether the operating system is a 64-bit version of Windows because the Kernel32.dll in current versions of 32-bit Windows also contains this function.
Äh, ja und jetzt rate mal, was die Funktion auf einem 32 bit Windows zurückgibt... Tip: immer False.

Grüße
Dalai
Logisch.
Aber MS weist darauf hin das man sie unter einem 32Bit System nicht verwenden soll.
Oder interpretiere ich das falsch?
Glaube nicht.

BOOL ist kein 4Byte groß sondern BOOL ist definiert als LongBool somit ist es das selbe, logischerweise auch in der Byte anzahl.

gruss

Geändert von EWeiss (31. Jan 2018 um 17:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#3

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:39
Aber MS weist darauf hin das man sie unter einem 32Bit System nicht verwenden soll.
Oder interpretiere ich das falsch?
Glaube nicht.
Nein, so ist das nicht gemeint. Siehe meine Ergänzung im vorherigen Post. Ich verwende diese Funktion übrigens schon seit Jahren, um zu bestimmen, ob meine Programme (oder TC-Plugins) unter WOW64 laufen oder nicht.

[EDIT]
Zitat:
BOOL ist kein 4Byte groß sondern BOOL ist definiert als LongBool somit ist es das selbe, logischerweise auch in der Byte anzahl.
LongBool ist 32 bit groß, also 4 Byte. Einfach mal im DocWiki schauen: Delphi-Referenz durchsuchenLongBool.
[/EDIT]

Grüße
Dalai

Geändert von Dalai (31. Jan 2018 um 17:43 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:42
Aber MS weist darauf hin das man sie unter einem 32Bit System nicht verwenden soll.
Oder interpretiere ich das falsch?
Glaube nicht.
Nein, sie weisen nicht darauf hin. Siehe meine Ergänzung im vorherigen Post. Ich verwende diese Funktion übrigens schon seit Jahren, um zu bestimmen, ob meine Programme (oder TC-Plugins) unter WOW64 laufen oder nicht.

Grüße
Dalai
OK nicht weil ich recht haben will aber was spricht gegen das auslesen der Registry?
So muss ich zweimalig auf die Kernel32 zugreifen nur um einen wert in Erfahrung zu bringen.
Ich öffne ja schon für den Pfad die Kernel.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#5

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:46
OK nicht weil ich recht haben will aber was spricht gegen das auslesen der Registry?
Wer sagt, dass es nicht auch auf einem 32 bit Windows den Zweig HKLM\Software\Wow6432Node geben kann? Vielleicht aus Versehen durch Import einer falschen .reg Datei angelegt worden? Zuverlässig finde ich das nicht. Und die kernel32.dll ist üblicherweise in jedem Prozess geladen, insofern macht das keinen Laufzeitunterschied, ob man nun eine Funktion mehr daraus ausführt.

[EDIT]
Ach, und noch eine Sache: Auch die Registry unterliegt einer Redirection. Unter einem 64 bit OS landen alle Zugriffe auf HKLM\Software eines 32 bit Programms in HKLM\Software\Wow6432Node, sofern man den Schlüssel nicht mit einem bestimmten Flag öffnet.
[/EDIT]

Grüße
Dalai

Geändert von Dalai (31. Jan 2018 um 17:48 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:48
OK nicht weil ich recht haben will aber was spricht gegen das auslesen der Registry?
Wer sagt, dass es nicht auch auf einem 32 bit Windows den Zweig HKLM\Software\Wow6432Node geben kann? Vielleicht aus Versehen durch Import einer falschen .reg Datei angelegt worden? Zuverlässig finde ich das nicht. Und die kernel32.dll ist üblicherweise in jedem Prozess geladen, insofern macht das keinen Laufzeitunterschied, ob man nun eine Funktion mehr daraus ausführt.

Grüße
Dalai
OK dann werde ich es ändern wollte nur nochmal nachfragen

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Aufruf von Windows Snipping Tool und Remotehilfe

  Alt 31. Jan 2018, 17:55
Zitat:
LongBool ist 32 bit groß, also 4 Byte. Einfach mal im DocWiki schauen: Delphi-Referenz durchsuchenLongBool.
Du verstehst nicht was ich meine oder?

Nochmal! Es gibt kein BOOL mit 4Bytes..

Denn BOOL ist unter Delphi eine Variable definiert als LongBool.
Du verstehst den Unterschied?

LongBool ist 4Byte aber wenn BOOL nicht als LongBool definiert wäre, wäre BOOL nothing.

Schau doch einfach mal in die Windows Unit.
Delphi-Quellcode:
  BOOL = LongBool;
  {$EXTERNALSYM BOOL}
  PBOOL = ^BOOL;
  {$EXTERNALSYM PBOOL}
Es gibt kein BOOL und LongBool, es gibt nur LongBool.
Und Bool ist als LongBool definiert.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:59 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 by Thomas Breitkreuz