Guck mal in dem 64bit System, ob sich die Datei unter "C:\Windows\SysWOW64\WinSAT.exe" befindet. Wenn ja ist die Lösung einfach: Prüfe ob du dich auf einem 32 oder auf einem 64 bit System befindest. Falls 64 bittig, im syswow64 Ordner gucken statt in system32
Die Datei existiert leider nicht im SysWOW64-Verzeichnis, sondern nur im System32-Verzeichnis. Ich glaube, das wäre zu einfach.
Ideal wäre es, wenn man die Virtualisierung temporär für mein Programm abschalten könnte. Ich habe mein Manifest deswegen hier mal gepostet. Möglicherweise ist nur eine kleine Änderung nötig.
Delphi-Quellcode:
<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-
com:
asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="ProjectName"
processorArchitecture="*"
version="1.0.0.0"
type="
win32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="
win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-
com:
asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>