À l'aide de VS 15, C# avec .Net 4.5.2
L'ordinateur est sur un réseau PUBLICITAIRE, avec le nom de l'annonce "ANNONCE".
Ce problème se produit avec AD normal des droits d'utilisateur, ANNONCE les droits d'admin, et des droits d'administrateur local. Il n'a pas d'importance ce que les droits le programme obtient, le même problème se produit.
Notre fichier de test est "C:/windows/system32/conhost.exe".
Le fichier ci-dessus existe, il est très bien existant. Je peux le voir avec l'explorateur.
C'est le fichier dans l'explorateur:
C'est le fichier de propriétés:
Vous pouvez voir qu'il est là, à droite?
La suite de commande cmd vérifie si le fichier existe:
IF EXIST "C:\windows\system32\conhost.exe" (echo does exist) ELSE (echo doesnt exist)
Il retourne "n'existe pas" comme promis.
Le code C# suivant vérifie si le fichier existe:
FileInfo file = new FileInfo("C:/windows/system32/conhost.exe");
MessageBox.Show(file.Exists + "");
Cela renvoie "False".
Ce code renvoie "Faux":
MessageBox.Show(File.Exists("C:/windows/system32/conhost.exe") + "");
Ce code ne le trouve pas:
foreach (string file in Directory.GetFiles("C:/windows/system32/"))
{
//conhost is NEVER mentioned, like it doesn't exist
}
Ce code ne le trouve pas:
foreach (string file in Directory.EnumerateFiles("C:/windows/system32/"))
{
//conhost is NEVER mentioned, like it doesn't exist
}
Faux, Faux, Faux:
MessageBox.Show(File.Exists("C:/windows/system32/conhost.exe") + "");
MessageBox.Show(File.Exists("C:\\windows\\system32\\conhost.exe") + "");
MessageBox.Show(File.Exists(@"C:\windows\system32\conhost.exe") + "");
Ce que je fais mal?
Note: j'ai copié conhost à C:\conhost.exe et mon programme pouvez la trouver sans problème. Mon programme trouve également d'autres fichiers dans system32, tout simplement pas conhost et quelques autres. Par exemple, il trouve "connect.dll" ce qui est dans system32, il n'est donc pas le répertoire de l'autorisation de lecture.
Plus de notes supplémentaires: conhost.exe et connect.dll a les mêmes attributs de sécurité (onglet Sécurité dans les propriétés du fichier).