FILE FOLDER LOCKER - BLOQUER (ET DÉBLOQUER) L'ACCÈS À CERTAINS FICHIERS ET DOSSI
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
3 juin 2009 à 02:57
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 2010
-
9 juin 2009 à 19:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 9 juin 2009 à 19:31
Salut,
il n'y a rien dans le framework .Net ni même en fonction Win32 pour "délocker" simplement.
Par contre comme méthode de délockage, on peut par exemple demander la fermeture du handle ouvert par Createfile :
Public Function CloseProcessLocalHandle(ByVal dwProcessID As Integer, ByVal hHandle As Integer) As Integer
Dim hMod As Integer
Dim lpProc As Integer
Dim hThread As Integer
Dim hProcess As Integer
hMod = GetModuleHandle("kernel32.dll")
lpProc = GetProcAddress(hMod, "CloseHandle")
hProcess = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE Or PROCESS_VM_READ, 0, dwProcessID)
If hProcess Then
hThread = CreateRemoteThread(hProcess, 0, 0, lpProc, hHandle, 0, 0)
If hThread Then
WaitForSingleObject(hThread, INFINITE)
GetExitCodeThread(hThread, CloseProcessLocalHandle)
CloseHandle(hThread)
End If
CloseHandle(hProcess)
End If
End Function
Faut créer un remote thread et lancer le CloseHandle dans le process cible.
@+
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 6 juin 2009 à 11:21
salut,
on ouvre pas vraiment, disons qu'on applique un flag d'ouverture plutôt ;)
je ne sais pas s'il y a de quoi forcer la fermeture dans le framework (çà m'étonnerait assez pour ce cas précis)
++
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 3 juin 2009 à 02:57
Bonsoir,
Je n'ais pas regardé la source (pas de vb6 sous la main)
Si j'ai bien compris ca ouvre le fichier et le bloque en lecture, mais il y a une API ou même une fonction en .Net il me semble qui dévérouille les fichiers bloqués en R/W ?
9 juin 2009 à 19:31
il n'y a rien dans le framework .Net ni même en fonction Win32 pour "délocker" simplement.
Par contre comme méthode de délockage, on peut par exemple demander la fermeture du handle ouvert par Createfile :
Public Function CloseProcessLocalHandle(ByVal dwProcessID As Integer, ByVal hHandle As Integer) As Integer
Dim hMod As Integer
Dim lpProc As Integer
Dim hThread As Integer
Dim hProcess As Integer
hMod = GetModuleHandle("kernel32.dll")
lpProc = GetProcAddress(hMod, "CloseHandle")
hProcess = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE Or PROCESS_VM_READ, 0, dwProcessID)
If hProcess Then
hThread = CreateRemoteThread(hProcess, 0, 0, lpProc, hHandle, 0, 0)
If hThread Then
WaitForSingleObject(hThread, INFINITE)
GetExitCodeThread(hThread, CloseProcessLocalHandle)
CloseHandle(hThread)
End If
CloseHandle(hProcess)
End If
End Function
Faut créer un remote thread et lancer le CloseHandle dans le process cible.
@+
6 juin 2009 à 11:21
on ouvre pas vraiment, disons qu'on applique un flag d'ouverture plutôt ;)
je ne sais pas s'il y a de quoi forcer la fermeture dans le framework (çà m'étonnerait assez pour ce cas précis)
++
3 juin 2009 à 02:57
Je n'ais pas regardé la source (pas de vb6 sous la main)
Si j'ai bien compris ca ouvre le fichier et le bloque en lecture, mais il y a une API ou même une fonction en .Net il me semble qui dévérouille les fichiers bloqués en R/W ?