geprüft Wenn 32bit App wie Java oder Python versucht, c:\windows\system32\bash.exe
zu öffnen, diese Datei einfach nicht gefunden.Windows 10 bash.exe (linux user space) existiert nicht, wenn von 32 Bit app
Wie auch immer, es funktioniert perfekt, wenn Prozess ir 64bit. Ich habe eine einfache C-App erstellt, um zu überprüfen, wie sie funktioniert.
#include <stdio.h>
#include <windows.h>
int main(int argc, char *argv[]) {
char* path;
OFSTRUCT junk;
if (argc != 2) {
printf("provide path to file");
return 1;
}
path = argv[1];
if(fopen(path, "r")) {
printf("OK: Runtime reports file exists");
} else {
printf("ERR: Runtime reports file does not exist");
}
printf("\n");
if (OpenFile(path, &junk,OF_EXIST) != HFILE_ERROR) {
printf("OK: Win32API reports file exists");
} else {
printf("ERR: Win32API reports file does not exist");
}
return 0;
}
Es meldet OK/OK, wenn sie als x64 und ERR/ERR kompiliert und verknüpft, wenn sie als x86 zusammengestellt. Wie könnte es sein? Gibt es eine Möglichkeit, Dateien von 32-Bit-Apps in Windows zu "verstecken"?
Dies ist das [Dateisystem Redirector] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384187.aspx) in Aktion. – Blorgbeard
bitte als Kommentar posten, ich werde es akzeptieren. – user996142