IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Comment obtenir la résolution de l'écran ?
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.

Comment exécuter un programme externe ?
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);

Pourquoi ShellExecute ne lance pas mon programme ?
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);
			

Comment éteindre l'ordinateur ?
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.

Comment obtenir la quantité de mémoire vive ?
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;

Comment ne plus afficher les icônes du bureau ?
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);
			

Comment ajouter une entrée aux Documents récemment ouverts de Windows ?
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");