| auteur : Geronimo
|
Avec C++Builder, vous avez à votre disposition l'objet Screen qui dispose d'un certain nombre de méthodes et propriétés concernant, comme son nom l'indique, l'écran. Pour obtenir la résolution, il suffit de récupérer la largeur et la hauteur de l'écran en pixels :
Label1->Caption = "La résolution de votre écran est :" + IntToStr(Screen->Width) + "*" + IntToStr(Screen->Height);
On voit donc que ce sont les propriétés Width et Height de Screen qui nous permettent d'obtenir ces informations.
|
| auteur : Geronimo
| Utilisez la fonctions
ShellExecute
Pour lancer Notepad, par exemple :
ShellExecute(NULL, // Handle de la fenêtre parent
"open", // Action à effectuer
"notepad.exe", // Fichier
"", // Paramètres
"", // Répertoire par défaut
SW_SHOWDEFAULT // Manière d'afficher
);
Attention, les chaînes passées en arguments de cette fonction sont des chaînes C standard. Pour passer des
AnsiString
en argument, utilisez la méthode
c_str()
:
// Affiche une boite de dialogue "Ouvrir un fichier" et ouvre le fichier avec notepad.
if (OpenDialog1->Execute())
ShellExecute(Form1->Handle, "open", "notepad.exe",
OpenDialog1->FileName.c_str(),
ExtractFilePath(OpenDialog1->FileName).c_str(),
SW_SHOW);
|
|
Tout d'abord, vérifiez que le programme existe. Si c'est le cas, vérifiez alors que vous utilisez bien des doubles anti-slashs dans vos chemins d'accès. Ce code est faux :
ShellExecute(Handle, "open", "c:\windows\notepad.exe", 0, SW_SHOW);
Il faut utiliser le code suivant :
ShellExecute(Handle, "open", "c:\\windows\\notepad.exe", 0, SW_SHOW);
|
| auteur : Geronimo
| Pour éteindre l'ordinateur, il faut faire appel à la fonction ExitWindowsEx :
ExitWindowsEx(EWX_POWEROFF, 0);
Il est possible de redémarrer l'ordinateur par une syntaxe similaire :
ExitWindowsEx(EWX_REBOOT, 0);
Pour plus d'informations, consultez l'aide sur ExitWindowsEx. Il semble que cette fonction ne soit pas supportée par Windows XP, pour des questions de droits utilisateur.
|
| auteur : Geronimo
| Pour cela, on utilise un object
TMemoryStatus
. Le code est assez explicite.
TMemoryStatus *MS = new TMemoryStatus;
GlobalMemoryStatus(MS);
// Récupération de la mémoire dans une chaîne
AnsiString Memoire = FormatFloat("Mémoire physique : #,# Mo",
(MS->dwAvailPageFile / 1024.)/1024.));
// On peut utiliser maintenant la chaîne de différentes manières...
//...
delete MS;
|
| auteur : Geronimo
|
Sous Windows, le bureau est représenté par une fenêtre, qui en fait a pour enfant toutes les autres fenêtres.
Il faut donc récupérer le Handle de cette fenêtre, ce qui se fait avec la fonction FindWindow et ensuite, on utilise la fonction ShowWindow qui permet d'afficher ou de faire disparaître une fenêtre.
HWND Bureau = FindWindow("Progman", "Program Manager");
ShowWindow(Bureau, false);
Si vous voulez faire réapparaître le bureau, il suffit bien sûr de réutiliser ShowWindow avec true comment second argument :
ShowWindow(Bureau, true);
|
| auteur : Geronimo
|
Utilisez la fonction SHAddToRecentDocs ; le premier paramètre est une constante qui contient le chemin des documents récents ;
SHAddToRecentDocs(SHARD_PATH,"c:\Mes Documents\Toto\Fichier.htm");
|
|