2010-12-19 8 views
1

Im Bild unten ist mein Desktop (Win7 Pro). Ich möchte in C# -Code das Symbol Broadband.lnk alt textWin API - Wie starte ich Desktop-Programme?

starten und wenn ich starten Sie den Button Disconnect auf diesem Bild alt text

ich mit using System.Diagnostics versucht gezeigt zu schieben; aber cmd funktioniert nicht ... Irgendwelche Ideen, wie man das Desktop Icon startet und danach an seinem Fenster anbringt und den Button anruft?

Ich habe versucht, mit cmd diesem Code und es hat nicht funktioniert:

 Process cmd = new Process(); 

     cmd.StartInfo.FileName = "cmd.exe"; 
     cmd.StartInfo.RedirectStandardInput = 
     true; 
     cmd.StartInfo.RedirectStandardOutput = 
     true; 
     cmd.StartInfo.CreateNoWindow = true; 
     cmd.StartInfo.UseShellExecute = false; 

     cmd.Start(); 

     /* execute "dir" */ 

     cmd.StandardInput.WriteLine(@".\Desktop\Broadband.lnk"); 
     cmd.StandardInput.Flush(); 
     cmd.StandardInput.Close(); 
+3

Denken Sie nicht, dass eine bessere Frage wäre: Wie programmatisch trennen Sie die Breitbandverbindung? Ihre Herangehensweise an Ihr Problem ist eher ungewöhnlich. –

+1

Können Sie Ihren Code mit 'System.Diagnostics' veröffentlichen, um die Verknüpfung auszuführen? Ich habe das schon mal gemacht und es hat funktioniert. Nicht unbedingt mit einer Internetverbindung, sondern mit anderen Verknüpfungen. Du hast nicht erwähnt, * wie * es nicht funktioniert. –

Antwort

3

Verwenden netsh so detailliert in Microsoft KB: Disconnect from a network in Windows Vista and Windows Server 2008 wenn Sie das tun wollen dies im Skript, ansonsten schauen Sie sich die Win32-APIs an, auf denen netsh aufgebaut ist. Und nie, nie, jemals drücken Sie die Tasten auf dem Bildschirm programmgesteuert. Leute waren auf dem Scheiterhaufen verbrannt für weniger.