Comment ouvrir un panneau de contrôle personnalisé par programme, comme custom.cpl? Plus précisément, comment puis-je ouvrir une cpl 64 bits lors de l'exécution en tant qu'application 32 bits?Comment ouvrir un panneau de contrôle par programmation?
Répondre
Vista a ajouté le support pour les noms canoniques afin que vous ne devez pas les noms de fichiers dll de code dur et onglet indexs
Exemple: WinExec ("% systemroot% \ system32 \ control.exe/nom Microsoft.WindowsUpdate", SW_NORMAL);
(Les noms sont toujours en anglais)
Voir MSDN pour une liste
XP/2000 prend en charge « souris control.exe » et quelques autres mots clés, consultez la même page MSDN pour une liste (vous peut sans doute trouver d'autres de non documentées par des chaînes en cours d'exécution sur control.exe)
Depuis que je n'ai pas trouvé une bonne réponse ici sur le SO, voici la solution de mes recherches:
- Démarrer une nouvelle application « contrôle » qui obtient le nom du panneau de commande comme premier paramètre:
::ShellExecute(m_hWnd, NULL, _T("control.exe"), _T("access.cpl"), NULL, SW_SHOW);
Etape 1: système de lire le répertoire de la machine. Etape 2: Utiliser processus pour commencer ControlPanel
**Process.Start(System.Environment.SystemDirectory + @"\appwiz.cpl");**
Comme je l'ai mentionné précédemment dans une autre question:
Si vous tapez « Contrôle de démarrage » ou « Control » dans Invite de commandes, il ouvrira le Panneau de configuration.
Par conséquent, il suffit de lancer un processus.
Ce code (Bellow) a parfaitement fonctionné pour moi:
public Form1()
{
InitializeComponent();
}
#region Variables
Process p;
#endregion Variables
[...]
void myMethod()
{
try
{
p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.Start();
p.StandardInput.WriteLine("start control");
p.StandardInput.Flush();
p.StandardInput.Close();
Console.WriteLine(p.StandardOutput.ReadToEnd());
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
utiliser simplement ....
ProcessStartInfo startInfo = new ProcessStartInfo("appwiz.cpl");
startInfo.UseShellExecute = true;
Process.Start(startInfo);
- 1. Créer un contrôle Silverlight DatePicker par programmation
- 2. comment ouvrir un panneau avec la nouvelle fonction de dossier par NSOpenPanel?
- 3. Ouvrir un fichier depuis un contrôle WebBrowser?
- 4. Activer par programmation un contrôle utilisateur à l'exécution
- 5. Quel événement dois-je ajouter par programmation à un contrôle?
- 6. Comment ouvrir un document MS Word par programmation sans invoquer la macro Document_Open
- 7. Ajout panneau dynamique/contrôle
- 8. C# contrôle utilisateur comme un panneau personnalisé
- 9. Comment appeler un événement par programmation?
- 10. Comment accéder à un modèle par programmation?
- 11. Limiter l'ajout de contrôle sur le panneau
- 12. Comment puis-je ouvrir un contrôle Google Chrome en C#
- 13. Comment ouvrir un fichier HFS + par ID de fichier?
- 14. Comment attraper un événement lorsque le contrôle est couvert par un autre contrôle?
- 15. Comment créer un effet de bascule de page par programmation?
- 16. Programmation du contrôle Visio ActiveX
- 17. Comment obtenir un fichier de sourcesafe par programmation?
- 18. Comment appelez-vous par programmation un libellé de liste d'édition?
- 19. Flex - Effacer DateField par programmation
- 20. Quand un contrôle dans un TemplateField ajouté par programmation a-t-il sa propriété 'ID'?
- 21. Comment ouvrir un fichier avec le programme associé par défaut
- 22. Déclenchement d'un événement de modification dans un contrôle d'arborescence Flex par programmation
- 23. Vista Série par programmation
- 24. Défilement de QGraphicsView par programmation
- 25. Création de contrôles par programmation dans Cocoa
- 26. Génération de WebControls par programmation
- 27. Contrôle du panneau d'autohopping pour Windows Forms
- 28. Comment créer un panneau réductible dans WPF
- 29. Défilement de UITextView par programmation
- 30. Comment puis-je accéder à un serveur IPTV par programmation?
pourquoi wiki communautaire? –
J'ai décidé pour le wiki de la communauté car j'ai répondu à la question moi-même, mais uniquement pour le panneau de contrôle 32 bits. – vividos