Frage

Ich werde ein Fenster verhindern, dass iTunes geöffnet werden. Ich googeln viel, aber nicht eine iTunes-Bibliothek finden, die mir solche Dinge zu steuern, so dass ich glaube, ich muss zurück zu den Wurzeln bekommen und schließen Sie es, nachdem es eröffnet, aber wie?

Ich denke:

  • Aktivieren Sie einen Timer alle 500 ms
  • Überprüfen Sie, ob der Fenstergriff geöffnet
  • Schließen Sie

Ist das möglich? Wie kann ich ein Fenster aus dieser Anwendung auf anderen Computern erkennen (ich meine Bewerbung weggeben)?

Die Sprache ist C # .Net 2.0.

War es hilfreich?

Lösung

Ja, es ist eine Option, um das Fenster zu finden und es zu schließen. sieht es jedoch wird der Benutzer nach wie vor.

Sie können die PInvoke Methode Find tun oder die C # diejenigen verwenden (bevorzugen diejenigen)

using System.Diagnostics;
Process[] processes = Process.GetProcessesByName("notepad");
foreach (Process p in processes)
{
    p.CloseMainWindow();
}

Von hier

Dies ist nur die oberste Anwendung zum Schließen, ich weiß nicht, ob Sie das Unterfenster mit Prozess finden. Ich weiß, Sie können mit PInvoke, siehe Beispiel hier

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

oder

[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);

Andere Tipps

Sicher gibt Möglichkeiten, dies zu tun, ein Ansatz, den ich vor beruhte auf dem win32APIs verwendet, werden Sie auf der folgenden aussehen soll:

  1. Find
  2. Sendmessage

Kurz gesagt können Sie den Timer verwenden, und wenn es feuert Verwendung Findwindow (entweder mit der Titelleiste des Fensters, oder die Anwendung „Klasse“), um den Griff zu bekommen, sobald Sie, dass Sie Sendmessage an das Fenster von mindestens WM_CLOSE oder WM_DESTROY

Vielleicht bin ich hier falsch, da ich so ziemlich ein amatuer Coder bin aber lassen Sie mich einen Schuss auf diese nehmen:

Ist das überhaupt möglich? Die Mechanismen, die das Schließen eines Fensters steuern, sind innerhalb der Anwendung (In Ihrem Beispiel: iTunes) selbst und das Betriebssystem. Es scheint wie eine große Sicherheitslücke, wenn eine Anwendung eine andere Anwendung Code überschreiben und ein Fenster schließen. Nicht plausibel erscheinen

Sieht aus wie ich hier falsch bin. Ignorieren!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top