/ / Как Windows премахва заключените файлове в следващото рестартиране, когато деинсталирате програма? - прозорци, delete-file, filelock

Как Windows премахва заключените файлове в следващото рестартиране, когато деинсталирате програма? - прозорци, delete-file, filelock

Как Windows премахва заключените файлове в следващото рестартиране, когато деинсталирате програма? Може би с някакъв планиран процес?

Отговори:

4 за отговор № 1

Използва се процесът на деинсталиране MoveFileEx с MOVEFILE_DELAY_UNTIL_REBOOT flag set, което показва, че операцията не трябва да се появява до рестартиране lpNewFileName параметър NULL показва, че файлът трябва да бъде изтрит:

Ако dwFlags указва MOVEFILE_DELAY_UNTIL_REBOOTи lpNewFileName е NULL, MoveFileEx регистрира файла lpExistingFileName за изтриване, когато системата се рестартира. Ако lpExistingFileName се отнася за директория, системата премахва директорията при рестартиране само ако директорията е празна.

Информация за MOVEFILE_DELAY_UNTIL_REBOOT казва:

MOVEFILE_DELAY_UNTIL_REBOOT

Системата не премества файла дооперационната система се рестартира. Системата премества файла веднага след като се изпълни AUTOCHK, но преди да създаде каквито и да е странични файлове. Следователно, този параметър позволява функцията да изтрива файловете от страници от предишни стартиращи фирми

Горната функция записва запис в регистъра, който се обработва автоматично при стартиране:

Функцията съхранява местоположенията на файловете, които ще бъдат преименувани при рестартиране в следната стойност на регистъра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerPendingFileRenameOperations