2010-04-16 6 views
0

Lorsque vous utilisez start /max program_name pour démarrer un programme groupé, comment faire la mise au point sur chaque programme lors de son ouverture. Pour l'instant, il se concentre sur le premier programme et en lance d'autres à l'arrière. Merci.Commande "Démarrer" dans le script batch

OS: Windows Server 2003

Programme: tout programme Windows, comme le bloc-notes

PS. Il se concentrera sur le programme nouvellement ouvert sur Windows XP SP3, mais pas sur le serveur Windows 2003.

+0

Quelle version de Windows essayez-vous? Qu'est-ce que tu essayes de faire? Je pense que vous devrez fournir plus afin d'obtenir une réponse définitive. – javamonkey79

Répondre

0

Je n'ai pas réussi à trouver un moyen d'utiliser la commande start pour ce comportement, mais si vous pouvez utiliser un script powershell à la place d'un fichier .bat, voici le code pour lancer un nouveau processus maximisé et toujours pop à l'avant:

$psi = New-Object System.Diagnostics.ProcessStartInfo 
$psi.Filename = "notepad.exe" 
$psi.Arguments = "" 
$psi.WindowStyle = 3 
[System.Diagnostics.Process]::Start($psi)

remplissez le nom de fichier et arguments et vous êtes bon pour aller. Mon premier réflexe a été d'utiliser rundll32 pour appeler ShellExecute de Shell32.dll, mais il semble qu'il nécessite des paramètres que je ne peux pas taper à partir de la ligne de commande, comme une référence à la fenêtre parente.

Questions connexes