Essayez de créer un répertoire ou un fichier nommé « con(.n’importe quoi) ». Ou alors « nul ». Voyez, Microsoft n’autorise que l’élite à utiliser ses produits.
Bon, en fait, c’est en rapport avec le fait que CON et NUL sont des noms réservés sur le système de fichier NTFS (et FAT, d’ailleurs), puisqu’il s’agit de flux virtuels dirigés vers des ports. Tous ces noms sont réservés :
COM1 à COM9 - Les ports sériels LPT1 à LPT9 - Les ports parallèles CON - Port virtuel de la console NUL - Port nul (les données sont perdues) PRN - Port imprimante
Pour vous en rendre compte, ouvrez une session console et écrivez simplement :
copy C:\unfichier.txt con
Eh bim, ce fichier s’affiche dans la console. Un mystère de moins! Allez, salut.
Si le passage d’arguments est essentiel aux applications console, et donc très bien intégré à Visual Studio lors du développement de ce genre de soft, il est en revanche bien moins en avant dans le cadre d’un développement Windows Forms.
Pourtant, passer des arguments peut aussi se faire à ce genre de soft. Par exemple, j’ai travaillé dernièrement sur un petit outil de sauvegarde automatique, lancé au démarrage de Windows. Afin de ne pas ennuyer l’utilisateur avec une fenêtre visible, je souhaitais donc lancer ce programme dans une fenêtre minimisée, sous forme d’une icône systray.
Mais comment?
Lire la suite…
Depuis .NET, Microsoft a implémenté une fonctionnalité, les commentaires XML, permettant de documenter son code source directement dans le fichier. Lors de la compilation, ces commentaires formatés spécifiquement sont transformés en un fichier de documentation XML. Malheureusement, aucun outil officiel ne permettait alors de transformer ce XML en un document formaté utilisable.
La communauté de développeurs eut tôt fait de palier à ce drame, et Kevin Downs, un de ses brillant membre, mit au point un logiciel devenu extrêmement populaire dénommé NDoc. Malheureusement, lors du passage du Framework 1.1 au Framework 2.0, la mise à jour de NDoc demanda beaucoup de travail, réalisé hors de son boulot, et le peu de participation financière de la communauté open source mit un terme à la motivation de M. Downs.
Lire la suite…
Jusqu’à peu, PInvoke était un mot qui m’était complètement inconnu. Désormais, je regrette.
Il s’agit d’une sombre technique terriblement barbare pour appeller (ou invoquer) des fonctions de l’API Win32 (donc, du code non-managé) dans un code .NET (donc managé). Le mec qui a inventé ca aurait mieux fait de se péter une jambe, si vous voulez mon avis, ou alors de trouver un autre moyen de refaire dans le framework ce que fait l’API Win32.
Fort heureusement, de merveilleuses personnes se sont dit qu’un peu de communautarisme autour de cet épineux problème serait une voie bien plus douce et agréable de s’en rendre à bout.
Ainsi est né le site PInvoke.net !
Grâce à lui, j’ai pu, en une heure, faire ce que je cherchais (très passivement, certes) à faire depuis quelques années: lister les ordinateurs du groupe de travail. En gros, NetServerEnum()!
Sans parler de la très nécessaire et merveilleuse fonction Beep().
Esperant que cela puisse vous servir, et caetera, amen. Allez, salut.
… depuis un programme. Rien dans le Framework .NET ne permet de le faire… Hum. Du côté de WMI? Non plus. Fichtre! Et si c’était pas possible? Naan. Rien n’est impossible.
Mais parfois, la solution est tordue.
Lire la suite…
Commentaires récents