Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Les codes .Net
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2010 02 09 23:25:28
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Blogs
Tutoriaux
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
Tous les codes
Tous les codes en .Net
Tous les codes sauf .Net
Langages disponibles :
Tous les langages
ASP / ASP.NET
Assembleur
C / C++ / C++.NET
C# / C#.NET
ColdFusion
Delphi
Flash
Flex, Air, ActionScript
Foxpro
Graphisme
IRC
JAVA / J2EE
Javascript / Ajax / DHTML
PDA / PocketPC
PHP
Python
Regex, Regular Expression, Expression régulière
SQL
Visual Basic, VB6, VB.NET, VB 2005, VB
949 commentaire(s) de violent_ken
sur des sources sur tout
CodeS-SourceS
Déposé sur
Lister les handles (fichiers, clé de registres,...) ouverts p...
Brunews parle de l'API Win32.
Pour inclure çà dans du VB.Net faut utiliser le namespace
System.Runtime.InteropServices
et déclarer la fonction comme décrit ici : http://www.pinvoke.net/default.aspx/kernel32/CreateFile.html
Sinon CreateFile c'est bien, mais çà ne permet pas de savoir quel process a ouvert le fichier. Pour connaitre le process, pas le choix, faut énumérer les handles ouverts sur le système et déterminer, en fonction du nom du fichier, quel est le handle concerné pour avoir son ProcessId associé.
@+
Posté le :
20/01/2010 13:38:44
Déposé sur
Lister les handles (fichiers, clé de registres,...) ouverts p...
bidouille007 => Salut, si c'est bien çà, mais il faut regarder les handles ouverts de type "fichier" (file).
Par contre pour éviter l'erreur "fichier occupé par un autre processus", il faudrait fermer le handle ouvert par le process, mais çà risque d'impacter sur son comportement.
@+
Posté le :
20/01/2010 09:10:30
Déposé sur
Accès direct disques et partitions vb net
Salut Galain !
Heureux de voir cette source en .Net, le langage de l'avenir (et avec en plus le meilleur IDE de l'univers : Visual Studio 2008) !!!
Comme pour ta source VB6, BRAVO pour celle ci, c'est vraiment une mine d'informations sur les filesystems assez impressionnante (très rare d'avoir des sources si complètes sur vbfrance).
Bref, 10/10 bien évidemment.
Je vois que c'est ta première source .Net, si tu veux je peux citer quelques (très) modestes conseils pour le codage d'une application vb.net assez conséquente et pointue comme celle ci l'est :
- mettre "Option Strict On" en tête de chaque fichier. Cà permet d'éviter à VB de réaliser des casts automatiquement notamment (ainsi que certains autres concepts comme le late binding...etc.). C'est vraiment pénible comme opération pour tous les fichiers (au passage c'est possible de le faire pour tous les fichiers directement dans les propriétés du projet : Compiler -> Option Strict à On) ==> dans ton projet çà va générer plusieurs centaines d'erreurs...
Mais une fois toutes ces erreurs (triviales pour 99% d'entre elles) corrigées, le code sera beaucoup plus cohérent au niveau du typage des fichiers (par exemple un UInt32 sera stocké dans un UInt32 uniquement et pas casté violemment dans un Int32 signé).
Et le compilateur rejettera parfois des erreurs de codage, à juste titre, qui seraient passées et auraient faussé l'exécution en Option Strict Off.
- utiliser des déclarations P/Invoke via l'espace de nom System.Runtime.Interop (à importer en début de fichier) pour les appels aux fonctions de l'API Win32. Par exemple :
Public Declare Function FindClose Lib "kernel32.dll" (ByVal hFindFile As Int32) As Int32 (déclarations VB6 vieillote)
va devenir en VB.Net :
<DllImport("kernel32.dll")> _
Public Shared Function FindClose(ByVal hFindFile As IntPtr) As Boolean
End Function
Il existe un site excellent pour récupérer les déclarations des fonctions de Win32 pour .Net : http://www.pinvoke.net/. Ne pas hésiter à en abuser !! (gaffe quand même pour les fonctions assez peu utilisées, des fois il y a des erreurs -__-)
- penser aux versions 64-bits de Windows dès le début. Perso j'avais fait l'erreur de coder pour du x86 only dans mon projet, ben quand les utilisateurs ont réclamé du x64 j'ai miséré à tout changer.... :)Plus tôt c'est fait, mieux c'est !
Concrètement, prendre en compte les versions 64-bits çà se traduit principalement par le fait que les adresses mémoires sont codées sur 8 octets en x64 (=64 bits) et 4 seulement en x86 (=32 bits). Bref, il faut utiliser le type IntPtr à tous les endroits où une adresse mémoire est représentée.
Par exemple pour la déclarations FindClose ci-dessus, on utiliser un IntPtr pour le handle (les handles dans Windows sont toujours codés avec 8 octets en x64) sur le fichier en paramètre (et pas le Int32 de la vieille déclaration VB6, qui du coup fonctionnera pas en x64 natif).
Du coup quand le programme (le même, compilé une seule fois et utilisable à la fois en x86 et en x64) sera utilisé sur x86, IntPtr prendra 4 octets, et sur x64 IntPtr prendra 8 octets. Mais comme IntPtr.Size sera déterminé automatiquement par le framework AVANT le démarrage de l'application, il n'y aura aucun changement de code à faire ! FindClose prendra automatiquement un paramètre de bonne taille suivant l'architecture 32 ou 64 bits de l'OS.
Bref, pour savoir si c'est du Int32 ou du IntPtr, faut regarder sur MSDN et convertir les déclarations C en VB.Net. Un DWORD c'est 4 octets donc Int32, un HANDLE c'est 4 ou 8 suivant l'architecture donc c'est IntPtr... etc. Ou bien utiliser http://www.pinvoke.net/, mais malheureusement certaines (très peu) déclarations sont fausses et donc à vérifier sur MSDN.
- On trouve souvent des exemples de code uniquement en C# sur internet, pas en VB.net. Il existe donc des outils de conversion automatiques (très très très efficaces !!) pour répondre à ce besoin : http://www.developerfusion.com/tools/convert/csharp-to-vb/
Cà permet de faire VB->C# ou bien C#->VB.
- Penser à utiliser la programmation objet, c'est à dire l'utilisation de classes réutilisables (et héritables si possible). Cela se traduit par exemple par l'abandon complet de la notion de "module", au profit de classes avec membres statiques.
Ainsi, le module2 deviendra la classe cEcran, et aura comme squelette :
Option Strict On
Public Class cEcran
Public Shared Function SetResolution(ByVal Width As Int32, ByVal Height As Int32, ByVal BitsPerPixel As Int16) As Boolean
...
Return XXX
End Function
End Class
Appelé par cEcran.SetResolution.
De même, les structures (hors structures pour l'API Win32) doivent être délaissées au profit des classes.
De même, les variables publiques n'existent plus, remplacées par attributs privés + properties (RO, WO ou RW).
Sinon attention au DoEvents, si jamais l'application passe au multithreading dans le futur, çà risque de poser problèmes (cette instruction est à bannir en multithreadé).
Sinon on part du principe que y aura pas de multithreading dans le futur de l'application, on peut alors augmenter les performances en utilisant :
For X as integer = 0 to 1000000
if (x mod 1000)=0 then
Application.DoEvents()
end if
next
plutôt que :
For X as integer = 0 to 1000000
Application.DoEvents()
next
Pour l'utilisateur çà changera pas grand chose niveau réponse de l'application aux requêtes, mais le CPU sera ravi !!!
Sinon us_30 a rassemblé les principales différences entre VB6 et VB.Net (pour les types de variables) dans son tuto, assez pratique : http://www.vbfrance.com/tutoriaux/GRANDEUR-DECADENCE-VB2008_891.aspx
Voilà, j'espère que c'est constructif et assez compréhensible, en tout cas MERCI pour cette source et cet EXCELLENT travail de recherche sur les filesystems !
Au passage, çà marche pour moi sur Windows Seven Pro 32bits pour NTFS (de ce que j'ai pu tester).
@+
Posté le :
23/11/2009 22:18:20
Déposé sur
Yet another (remote) process monitor
v2.4.0
Nombreuses corrections de bugs et ajout de nouvelles fonctions, dont la fonctionnalité "System Snapshot" qui permet de favoriser l'assistance à distance :
- création d'un snapshot du système
- transmission du fichier snapshot sur le poste de quelqu'un d'autre
- navigation à travers l'IHM de YAPM dans le premier système de manière transparente (comme si c'était YAPM qui tournait sur un système local)
@+
Posté le :
22/11/2009 13:13:54
Déposé sur
Contrôles style xp (16 usercontrols: listbox, option, frame, ...
Bonjour,
aucune demande particulière n'est à faire, vous pouvez utiliser l'OCX directement.
Il faut seulement respecter la licence apposée à ce projet (GNU LGPL) (voir le fichier licence.txt dans le *.zip, ou ici http://fr.wikipedia.org/wiki/Licence_publique_générale_limitée_GNU)
Donc en gros, il est possible d'utiliser sans problèmes ce code dans un projet propriétaire sans avoir à rendre tout le code source du projet propriétaire sous licence libre (et heureusement d'ailleurs !)
Pour simplifier, si vous réutilisez ces controles sous LGPL dans votre logiciel, les restrictions seront :
- conserver le copyright du fichier OCX
- conserver la licence LGPL du fichier OCX et la fournir avec le fichier OCX
Rien ne changera pour votre logiciel de maintenance (grâce au "L" de LGPL ^_^)
@+
Posté le :
26/09/2009 12:02:42
Déposé sur
Yet another (remote) process monitor
v2.2.1
- Utilisation du remoting pour le remote monitoring
- Optimisations considérables dans tous les sens
- Compatibilité 64-bits (mais pas complète)
- Tonnes de nouvelles fonctionnalités
- ...etc.
Cf. yaprocmon.sourceforge.net pour les détails.
@+
Posté le :
26/09/2009 00:21:46
Déposé sur
Editeur de courbe avec zoom
En réalité cette fonction n'est pas définie pour certaines valeurs de x, et comme ce n'est pas géré dans le programme, les fonctions permettant de réaliser les calculs d'exponentielle foirent et renvoient des valeurs bidons...
Si on visualise la courbe entre x=[0...3] et y=[0..100], le résultat sera correct.
Cela étant, cette source date un max et est surement très très loin d'être optimale :-) Donc y aurait certainement des milliards de corrections à y apporter...
@+
Posté le :
24/09/2009 17:21:17
Déposé sur
Lister les handles (fichiers, clé de registres,...) ouverts p...
Salut,
j'ai ENFIN réussi à convertir entièrement ce code pour qu'il soit utilisable indifférement sur un OS 32-bits ou 64-bits. Enfin, côté .Net, parce que le driver en 64-bits je l'ai pas, je connais pas assez le C pour m'y attaquer pour le moment.
Bref, j'arrive à faire fonctionner ce code pour qu'il fonctionne parfaitement aussi bien sur 32 que sur 64 bits, mais la récupération du Name des objets de type File ne fonctionne que sur 32-bits (car pas de driver 64-bits).
Comme toutes les structures changent en 64-bits (pointeurs sur 8 octets), le code diffère pas mal (allocations mémoire différentes, utilisation de IntPtr qui implique de ne plus utiliser des offsets en dur...etc).
Pour info, ce code est vraiment très très utile, puisqu'il permet d'obtenir des tonnes d'infos sur le système (possibilité d'énumérer les processus via les handles de csrss, possibilité d'énumérer les jobs en cours après récupération du ObjectTypeNumber de "Job"...).
Bref si quelqu'un veut la version qui fonctionne sur x64, contactez moi (je poste pas là parce que tout le code est refait)
@+
Posté le :
30/08/2009 02:29:33
Déposé sur
Systray + balloon en un seul contrôle utilisateur
Salut,
pour le crash de l'explorer la meilleure solution est d'utiliser RegisterWindowMessage comme l'a dit PCPT.
D'ailleurs j'ai vu que sa déclaration est déjà présente dans le code ^^
Dim msgExplorerCrashed as long
msgExplorerCrashed = RegisterWindowMessage("TaskbarCreated")
puis on traite dans la winProc le message (si je me rappelle bien).
@+
Posté le :
03/08/2009 21:55:08
Déposé sur
Yet another (remote) process monitor
Oui c'est du VB.Net
Posté le :
23/07/2009 10:47:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Nos sponsors
Derniers Blogs
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES
par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE
par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article
par orion
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010
par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
TECHDAYS PARIS 2010 : DéPLOIEMENT DE NOUVELLES TECHNOLOGIES - RETOUR D'EXPéRIENCE PAR L'INFORMATIQUE DE MICROSOFT
TECHDAYS PARIS 2010 : DéPLOIEMENT DE NOUVELLES TECHNOLOGIES - RETOUR D'EXPéRIENCE PAR L'INFORMATIQUE DE MICROSOFT
par ROMELARD Fabrice
Animé par: Patrice Trousset Microsoft IT est la DSI de la compagnie et soutient le business de Microsoft à travers le monde avec un groupement scindé par région. La division possède la même problématique que toutes les DSI avec un budget d'un Mill...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010
TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010
par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
La suite
RSS
Côté IT
A la découverte de la console d?administration de Team Foundation Server 2010
A la découverte de la console de configuration de Team Foundation Server 2010
A la découverte du programme d?installation de Team Foundation Server 2010
Empècher Windows de créer les fichiers THUMBS.DB
Nettoyage de disque sans compression
Comment faire un CD bootable depuis Nero 7
Modifier la liste des valeurs proposées par le champ Assigned To dans les Elements de travail de ...
La suite
RSS
Offres d'emploi
Recherche Développeur Web Microsoft (ASP.NET, C#, SQL2005, CS2002)
Recherche Développeur c# / Dotnet
Recherche Ingénieurs / Développeurs expérimentés JavaScript
Recherche Développeur (e) web senior
Recherche développeur WEB
Recherche Développeur web php/ mysql
Recherche Webmaster-Développeur (H/F)
Déposer une offre
La suite
RSS
Formations Video
After Effects CS4 pour les utilisateurs de Photoshop
Final Cut Pro 7 : les fondamentaux
Premiere Elements 8 : les fondamentaux
Ateliers créatifs avec InDesign CS4
Programmation avancée en ActionScript 3.0
Mac OS 10.6 Snow Leopard : les fondamentaux
Créer son blog avec Dotclear
La suite
RSS
Appels d'offres
PLATEFORME SUR L ESOTERISME VOYANCE - sans charte graphique
Budget :
3 500€
Joomla 15 module paiement adaptation composant cuisine
Budget :
250€
Integrateur web dans template
Budget :
500€
La suite
RSS
Logiciels
DB-MAIN (9.1.0)
DB-MAIN (9.1.0)
DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal...
Cliquez pour télécharger DB-MAIN
Xilisoft DPG Convertisseur (5.1.37.0120)
XILISOFT DPG CONVERTISSEUR (5.1.37.0120)
Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé...
Cliquez pour télécharger Xilisoft DPG Convertisseur
GraphicsGale (2.01.01)
GRAPHICSGALE (2.01.01)
GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ...
Cliquez pour télécharger GraphicsGale
Architecte 3D (Platinum 2010)
ARCHITECTE 3D (PLATINUM 2010)
Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é...
Cliquez pour télécharger Architecte 3D
TeamViewer 5 (TeamViewer 5)
TEAMVIEWER 5 (TEAMVIEWER 5)
Dépanner un ami,expliquer une manipulation devient un jeu d'enfant. Prise en main d'un autre ord...
Cliquez pour télécharger TeamViewer 5
+ de logiciels à télécharger
Vidéos drôles
Foot féminin
Maman, j'aime pas mamie
Comment attraper la grippe A
Parodie Pub Window 7
Daft Bodies - Harder Better Faster Stronger
Royal Fuhrer
C'est quoi le texte ?
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 598 692
membres
694
nouveaux aujourd'hui
15 441
membres club
Comparez les prix
Console Microsoft Xbox 360 Elite
Entre 299€ et 300€
Visiter le guide achat
CalendriCode
Février
2010
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box