Test d'ouverture de fichiers

cs_Nyouki Messages postés 12 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 13 juin 2006 - 12 juin 2006 à 10:09
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 - 15 juin 2006 à 17:41
Bonjour,
j'aimerais savoir comment tester si un fichier ouvert par un open "C:\documents...." est ouvert ou non?

Le but de cette question est de pouvoir fermer ce fichier s'il est ouvert en cas d'erreur dans la fonction et de ne pas y toucher s'il est déjà fermé...

Merci

10 réponses

troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
12 juin 2006 à 10:25
Bonjour,

La lecture des processus te serait'il pas suffissant ?

Cordialement

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
cs_Nyouki Messages postés 12 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 13 juin 2006
12 juin 2006 à 10:28
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 juin 2006 à 10:42
Salut,

Ceci peut marché, bien que pas très propre mais bon. (pas testé)

On Error Resume Next 
    Open "C:\Test.txt" For Input As #1 
    If Err.Number <> 0 Then Close #1 
On Error GoTo 0 
 

<small> Coloration syntaxique automatique [AFCK]</small>
       

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_Nyouki Messages postés 12 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 13 juin 2006
12 juin 2006 à 11:18
@ TroXsA : Comment puis-je réaliser la lecture des processus? puis fermer le bon si le fichier en question est ouvert?

@ jrivet : Désolé mais il me faut absolument quelque chose de propre...!

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
12 juin 2006 à 11:51
http://www.troxsa.info/index.php?option=com_content&task=view&id=66&Itemid=2



apres tu fait un dim p as process et utilise la methode kill
je pourrais te faire un exemple complet si tu y arrive pas !
(tout est en vb.net 2005)

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
cs_Nyouki Messages postés 12 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 13 juin 2006
12 juin 2006 à 12:34
Je veux bien un exemple STP Troxsa, je suis pas sur de comprendre commentmarche ta méthode...
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
12 juin 2006 à 13:36
Ok, je te fait ça !

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
12 juin 2006 à 14:50
Bon je te donne le code mais sa fonctionne pas encore  :( un probleme je sais pas ou encore
vu que je suis encore au taff et qu'on mer demande de faire du travaille :) je peu pas trop regarder ou ce trouve le probleme, si tu pouvais voir ou ce trouve le probleme :) car je pense avoir fait le plus gros
il faut imports System.management
je te fait sa plus tard si tu trouve pas comment faire ! desoler

Private



Sub
KillFile(

ByVal
PathFile

As



String
)


Dim
myProcesses()

As
Process


Dim
oClassWmiProcessus

As



New
SelectQuery(

"Win32_Process"
)


Dim
oProcessusInfo

As



New
ManagementObjectSearcher(oClassWmiProcessus)


For



Each
Info

As
ManagementObject

In
oProcessusInfo.Get()


Try






Dim
Description

As



String
= Info(

"Description"
).ToString()


Dim
CommandLine

As



String
= Info(

"CommandLine"
).ToString


Dim
ExecuteblePath

As



String
= Info(

"ExecutablePath"
).ToString()Console.WriteLine(Description & vbTab & CommandLine & _

ExecuteblePath)


If
CommandLine.IndexOf(PathFile) > 0

Then

myProcesses = Process.GetProcessesByName(Info(




"Description"
).ToString())myProcesses(0).Kill()


End



If






Catch
ex

As
Exception


Exit



Try






End



Try






Next














http://www.troxsa.info/

Le site qui ne parle qu'un seul langage, visual basic 2005
0
cs_Nyouki Messages postés 12 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 13 juin 2006
13 juin 2006 à 08:09
Merci!
je cherche l'erreur et je te tiens au courant!
0
troxsa Messages postés 553 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 2 octobre 2016 1
15 juin 2006 à 17:41
Je sais pas si tu as eu le temps de regarder mais j'ai fait un petit exemple sur un kill simple, tu peux peut etre le reprendre et l'adapté au code la haut ...

http://www.troxsa.info/index.php?option=com_content&task=view&id=69&Itemid=2

http://www.troxsa.info/
Le site qui ne parle qu'un seul langage, visual basic 2005
0
Rejoignez-nous