Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

correspondance c#/visual basic

2 réponses
Avatar
papy normand
Bonjour,
je suis nouveau sur ce forum
Comment peut-on coder en C# l'équivalent des propriétés suivantes de Visual
Basic ?
My.Computer.Info.AvailablePhysicalMemory (
AvailablePhysicalMemory,TotalPhysicalMemory,TotalVirtualMemory)
My.Computer.Info.OsFullName ( qui permet de récupérer le nom de l'OS sous la
forme Windows XP Pro Service Pack 2 par exemple alors qu'en utilisant
System.Environment.OsVersion je n'obtiens qu'une chaîne de la forme WINNT
6.aa.bb.cc peu compréhensible )
Merci d'avance

2 réponses

Avatar
Sébastien FERRAND
papy normand a couché sur son écran :
Bonjour,
je suis nouveau sur ce forum
Comment peut-on coder en C# l'équivalent des propriétés suivantes de Visual
Basic ?
My.Computer.Info.AvailablePhysicalMemory (
AvailablePhysicalMemory,TotalPhysicalMemory,TotalVirtualMemory)
My.Computer.Info.OsFullName ( qui permet de récupérer le nom de l'OS sous la
forme Windows XP Pro Service Pack 2 par exemple alors qu'en utilisant
System.Environment.OsVersion je n'obtiens qu'une chaîne de la forme WINNT
6.aa.bb.cc peu compréhensible )
Merci d'avance



rien de plus simple avec Reflector :

My.Computer.Info.OSFullName :
public string OSFullName
{
get
{
try
{
string text2 = "Name";
char ch1 = '|';
string text3 =
Convert.ToString(this.OSManagementBaseObject.Properties[text2].Value);
if (text3.Contains(Convert.ToString(ch1)))
{
return text3.Substring(0, text3.IndexOf(ch1));
}
return text3;
}
catch (COMException)
{
return this.OSPlatform;
}
}
}


etc...

il suffit d'ouvrir l'assembly Microsoft.VisualBasic avec Reflector...

Sébastien


--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate
Avatar
papy normand
"Sébastien FERRAND" a écrit :

papy normand a couché sur son écran :
> Bonjour,
> je suis nouveau sur ce forum
> Comment peut-on coder en C# l'équivalent des propriétés suivantes de Visual
> Basic ?
> My.Computer.Info.AvailablePhysicalMemory (
> AvailablePhysicalMemory,TotalPhysicalMemory,TotalVirtualMemory)
> My.Computer.Info.OsFullName ( qui permet de récupérer le nom de l'OS sous la
> forme Windows XP Pro Service Pack 2 par exemple alors qu'en utilisant
> System.Environment.OsVersion je n'obtiens qu'une chaîne de la forme WINNT
> 6.aa.bb.cc peu compréhensible )
> Merci d'avance

rien de plus simple avec Reflector :

My.Computer.Info.OSFullName :
public string OSFullName
{
get
{
try
{
string text2 = "Name";
char ch1 = '|';
string text3 =
Convert.ToString(this.OSManagementBaseObject.Properties[text2].Value);
if (text3.Contains(Convert.ToString(ch1)))
{
return text3.Substring(0, text3.IndexOf(ch1));
}
return text3;
}
catch (COMException)
{
return this.OSPlatform;
}
}
}


etc...

il suffit d'ouvrir l'assembly Microsoft.VisualBasic avec Reflector...

Sébastien


--
---
Sébastien FERRAND
Microsoft Visual C# MVP
blog : http://blogs.developpeur.org/sebmafate





Merci pour votre réponse je ne connaissais pas Reflector et je vais
l'essayer de suite
j'ai testé une solution peut-être pas très élégante mais qui permet à des
développeurs VB de pouvoir utiliser certaines propriétés qui n'ont pas leurs
équivalents en VC#
j'ai obtenu dans une TextBox :
165441536 octets Microsoft Windows XP Home Edition ( Service Pack 2 )
de la façon suivante :
- ajout de la référence Microsoft.VisualBasic (projet->ajout de référence)
- ajout en début de source de
using Microsoft.VisualBasic;
- ajout de la procédure :
private void GetComputerInfo()
{
ulong memphydisp;
String OsName ;
Microsoft.VisualBasic.Devices.ComputerInfo vbainfo = new
Microsoft.VisualBasic.Devices.ComputerInfo();

memphydisp = vbainfo.AvailablePhysicalMemory;
OsName = vbainfo.OSFullName ;
MemPhyDispTxt.Text = memphydisp.ToString() + " octets " +
OsName;
MemPhyDispTxt.Text += " ( " +
Environment.OSVersion.ServicePack +
" )";

En tout cas , merci pour Reflector et bonne journée