Fonction de suppression qui ne fonctionne pas...

cs_atoms97 Messages postés 5 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 28 mai 2012 - 28 mai 2012 à 10:12
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 30 mai 2012 à 20:36
Bonjour,

Le programme que je fais est sensé détecter et supprimer des menaces(un antivirus quoi).

Le problème est que malgré qu'il affiche dans TextBox1 le chemin d'accès au fichier concerné, le fichier ne peut être détruit. Aucun message d'erreur, rien... J'ai très probablement mal codé cette partie et je demande donc votre aide.
Si il vous faut plus que ça, faites le moi savoir :)

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.Text = Form1.OpenFileDialog1.FileName

Try
My.Computer.FileSystem.DeleteFile(Form1.OpenFileDialog1.FileName)


Catch ex As Exception

End Try
End Sub

11 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 mai 2012 à 10:24
Bonjour,
Euh ... modifier ou zigouiller un fichier ouvert (on se demande pourquoi l'ouvrir, d'ailleurs)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_atoms97 Messages postés 5 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 28 mai 2012
28 mai 2012 à 10:31
Ce n'est qu'une partie du code là. Normal que le code paraisse zarbi. Mais effectivement c'est bel et bien un antivirus en vb(ne me frappez pas ).
Et en y pensant effectivement il faut aussi tuer le processus de ce malware, dans ce cas, ce serait pas mal de me dire également comment faire .
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
28 mai 2012 à 11:58
Salut,

sans vouloir entreprendre une discussion philosophique sur les raisons qui te poussent à ne pas utiliser un anti-virus public (et surtout déjà réalisé), ou même une discussion technique sur la technologie que tu utilises pour caractériser une menace authentique, je voudrais attirer ton attention sur le fait qu'un anti-virus ne supprime pas les fichiers, il les met en quarantaine.

Je te dis ça pour t'éviter de perdre un tas de fichiers importants pendant ta phase de conception/tests (conception/tests, j'essaie aussi d'attirer ton attention sur ta méthodologie de génie logiciel, quelque peu hasardeuse, et donc, potentiellement vouée à l'échec, mais, ça n'engage que moi!).

Accessoirement, il lève les verrouillages des-dits fichiers (en tuant le processus du programme l'utilisant ou en tuant le processus même du fichier lorsque ce dernier est un programme en cours d'exécution), mais ça, tu as commencé à le deviner.

rvblogn
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 mai 2012 à 12:46
Bonjour,

Quand tu dis que tu ne vois pas d'erreur, c'est à cause de ton Try/Catch :
Try
My.Computer.FileSystem.DeleteFile(Form1.OpenFileDialog1.FileName)


Catch ex As Exception

End Try 


Mets un MessageBox dans le Catch.

Pour tuer un process, je pense que System.Diagnostics.Process te suffira.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0

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

Posez votre question
cs_atoms97 Messages postés 5 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 28 mai 2012
28 mai 2012 à 15:35
@rvblog

En fait, j'ai juste commencé à programmer cet antivirus parce que ça m'amusait. Je ne compte pas vraiment l'utiliser(quoi que...). Et pour authentifier une menace et bien je me renseigne sur des sites spécialisés qui recensent les programmes dangereux. Mais effectivement, cette solution de supprimer directement une menace n'était peut être pas une bonne idée. Je pense plutôt copier vers la quarantaine puis supprimer la menace.

@NHenry

Merci, je compte bien essayer
Je te redonnerai des nouvelles si ça à fonctionnner :D
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
28 mai 2012 à 15:41
Me voilà rassuré


rvblogn
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
28 mai 2012 à 15:47
ET si tu renommer, ou déplacer ce fichier, juste pour essayer
0
cs_atoms97 Messages postés 5 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 28 mai 2012
28 mai 2012 à 16:04
Sinon, vous n'avez toujours pas idée de comment je devrais faire ça? Parce qu'un AV qui ne peux neutraliser une menace n'est plus vraiment un AV
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
28 mai 2012 à 16:09
désespère pas, même si les anti-virus d'aujourd'huie sont mieux,...
il y a surment une raison,...
sinon il reste toujours lorsque l'on bloque sur quelque chose, la prog un peu bourinne, sans forcement de complexité, mais qui pourait en attendant t'aider !
essaye de renommer, déplacer ce fichier, voir avec enumwindows, si ce fichier n'est pas déjà en cours d'utilisation,...ETC.
...
Héééé , je vient d'avoir une idée, tu as trouvé le fichier, créer un fichier .BAT pour le suprimer, en mettant ce fichier .bat dans le menu de demarage, et fait redemarrer windows, avec ton prog !

a+
0
cs_atoms97 Messages postés 5 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 28 mai 2012
28 mai 2012 à 17:50
Sinon, toujours pas d'idées?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
30 mai 2012 à 20:36
Bonjour,

As-tu lu mon message ?
Concernant la suppression du processus.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Rejoignez-nous