AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi "WinSat.exe formal" mit Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

"WinSat.exe formal" mit Delphi

Ein Thema von Mattze · begonnen am 17. Sep 2018 · letzter Beitrag vom 19. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2      
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

"WinSat.exe formal" mit Delphi

  Alt 17. Sep 2018, 20:15
Hallo,

wie kann man mit Delphi 7 "WinSat.exe formal" (zur Erstellung des Leistungsindexes) starten.
Bitte nicht lächeln!
Weder Shellexecute(ex) noch createprocess macht es richtig!
Jedenfalls bei mir nicht (Win 10).

Wenn man "Winsat formal" in der Console startet, öffnet es ein neues Fenster mit dem Titel:
"C:\windo2ws\system32\winsat.exe".
Nur, in diesem Ordner gibt es das Programm garnicht.
Es liegt in
"C:\Windows\WinSxS\amd64_microsoft-windows-w..ystemassessmenttool_31bf3856ad364e35_10.0.17134 .1_ none_6115843020845ee4\"

Wenn ich es allerdings aus diesem Ordner starte, wird keine Datei angelegt - jedenfalls finde ich keine.
Ich kann also nix auswerten.
Außerdem wird sie dann nicht auf Deutsch gestartet!

Also, was tun?

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

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

AW: "WinSat.exe formal" mit Delphi

  Alt 17. Sep 2018, 20:44
Wenn man "Winsat formal" in der Console startet, öffnet es ein neues Fenster mit dem Titel:
"C:\windo2ws\system32\winsat.exe".
Nur, in diesem Ordner gibt es das Programm garnicht.
Selbstverständlich liegt es dort. Nur musst du halt schauen, von wo du guckst, wenn du dich auf einem Windows 64-bit bewegst. 32-Bit Programme haben keinen Zugriff auf das 64-bit System32-Verzeichnis. Stattdessen werden sie umgeleitet und bekommen den Inhalt von %SystemRoot%\SysWOW64 zu sehen. Die WinSAT.exe gibt es aber nur in %SystemRoot%\System32.

Zitat:
Es liegt in
"C:\Windows\WinSxS\amd64_microsoft-windows-w..ystemassessmenttool_31bf3856ad364e35_10.0.17134 .1_ none_6115843020845ee4\"
Es liegt auch dort, nur ist dieser Ort nur ein Hardlink, der für den normalen Betrieb überhaupt nicht von Bedeutung ist.

Zitat:
Also, was tun?
Die WinSAT.exe aus dem richtigen System32-Verzeichnis nehmen.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: "WinSat.exe formal" mit Delphi

  Alt 17. Sep 2018, 20:56
Soweit ich weiß wird WinSAT über Interfaces angesprochen und nicht als externer .exe Aufruf.

Hier gibts mehr Infos

Zu meiner Schande, ich habe es nicht getestet da ich keinen Windows Leistungsindex benötige.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#4

AW: "WinSat.exe formal" mit Delphi

  Alt 17. Sep 2018, 21:17
Soweit ich weiß wird WinSAT über Interfaces angesprochen und nicht als externer .exe Aufruf.
Nein das stimmt nicht.

Ich kann es hier ganz normal aufrufen, wenn der Pfad stimmt. Unter 32 Bit Windows in '\system32\WinSAT.exe' und unter 64 Bit Windows unter '\Sysnative\WinSAT.exe'.

Den Aufruf selbst habe ich mit ShellExecuteAndWait gemacht, weil die Eingabeaufforderung dann solange offen bleibt, bis die Leistungsbewertung abgeschlossen ist und danach mit deiner Programmausführung die Ergebnisse abgerufen werden können.

Alles in ein Memo umleiten wäre dann noch die elegantere Variante...
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: "WinSat.exe formal" mit Delphi

  Alt 17. Sep 2018, 21:35
Ich kann es hier ganz normal aufrufen, wenn der Pfad stimmt. Unter 32 Bit Windows in '\system32\WinSAT.exe' und unter 64 Bit Windows unter '\Sysnative\WinSAT.exe'.
Klappt bei mir nicht, siehe -> screenshot-17_09.png
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#6

AW: "WinSat.exe formal" mit Delphi

  Alt 18. Sep 2018, 08:30
Hallo

und komisch "isses".

Den Ordner sysnative habe ich gar nicht.

Mitdem Explorer gesucht, wird sie tatsächlich in System32 gefunden!!!
Wäre ja sonst auch komisch!

Fragt sich, wie ich die mit einem 32-Bit-Programm dort finden und ausführen kann?
(Das läuft sicher darauf hinaus, wie ich diese 32-Bit-Umleitung (temporär) verhindern kann.)
Delphi 7 ist nun mal "bloß" 32-Bit.

Habt Ihr einen Tipp?

Gruß
Mattze
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#7

AW: "WinSat.exe formal" mit Delphi

  Alt 18. Sep 2018, 08:51
Hallo,

vergesst den vorigen Post.

Ich hatte nur nicht mitbekommen, dass sysnative ein Alias von system32 für 32-Bit-Programme ist.

Jetzt läuft alles wunderbar.

(Ich bin trotzdem etwas frustriert! Jetzt computere ich schon sooo lange, aber von sysnative habe ich noch nix gewusst! Und da gibt es bestimmt noch vieles...)

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

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

AW: "WinSat.exe formal" mit Delphi

  Alt 18. Sep 2018, 15:01
@KodeZwerg: Vielleicht mag es WinSAT.exe nicht, wenn man sie aus einer 32-bit CMD ruft? Schließlich wird die ihre WinSATAPI.dll von dort laden wollen, aber 64-bit Programme haben keinen Zugriff auf SysNative (wozu auch).

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: "WinSat.exe formal" mit Delphi

  Alt 18. Sep 2018, 19:33
@KodeZwerg: Vielleicht mag es WinSAT.exe nicht, wenn man sie aus einer 32-bit CMD ruft? Schließlich wird die ihre WinSATAPI.dll von dort laden wollen, aber 64-bit Programme haben keinen Zugriff auf SysNative (wozu auch).

Grüße
Dalai
So ganz verstehe ich es noch nicht obwohl ich Teile davon verstehe.
Also ich kann nachvollziehen das ne 32bit CMD da eventuell was falsch macht.
Wie starte ich eine 64bit CMD?
Wie kann ein Delphi 7 (32bit) Kompilat darauf zugreifen ich aber mit CMD nicht, da wären wir wieder bei Zeile 1

Aber Danke, passt schon, ich will es eh nicht benutzen, aber hatte mich interessiert was da übers starten aus verschiedenen Verzeichnissen bei rauskommt. Meine Ergebnisse kann man da ja sehen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

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

AW: "WinSat.exe formal" mit Delphi

  Alt 18. Sep 2018, 19:48
Wie starte ich eine 64bit CMD?
Start > Ausführen > "cmd.exe", ENTER. Oder via (Shift+)Rechtsklick im Explorer > Eingabeaufforderung hier öffnen. Es gibt darüber hinaus natürlich noch andere Wege. Startet man cmd.exe (mit oder ohne vollen Pfad) von einem 32-bit Programm aus, bekommt man immer die 32-bit CMD. Den Unterschied zwischen den beiden verschiedenen CMDs auf einem 64-bit Windows sollte man immer mit berücksichtigen, sonst kann man wunderschön auf die Schnauze fallen.

Zitat:
Wie kann ein Delphi 7 (32bit) Kompilat darauf zugreifen ich aber mit CMD nicht, da wären wir wieder bei Zeile 1
Darauf wollte ich nicht hinaus. Ich dachte mir, dass es vielleicht einen Unterschied macht, ob man eine 64-bit EXE im Kontext einer 32-bit CMD ausführt, oder stattdessen die 64-bit EXE direkt ruft und diese ihr eigenes Konsolenfenster öffnet. Alles nur Vermutung, Spekulation.

Die Antwort auf die Frage selbst lautet: Entweder unter Benutzung des SysNative-Verzeichnisses oder unter temporärer Abschaltung der WOW64-Redirection (MSDN-Library durchsuchenWow64DisableWow64FsRedirection/MSDN-Library durchsuchenWow64RevertWow64FsRedirection).

Grüße
Dalai
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz