Jain! Fast, ich weiß nicht woran es liegt, entweder hab ich einen Fehler oder es ist normal so?
Ich klicke drauf, es kommt wie im Code die MessageBox.. Das ist perfekt, doch wenn ich nun auf ein Item in der comboBox klicke, kommt die MessageBox nochmal?
Entweder hab ich da einen Fehler, oder der Code will mich verarschen :D
Code:
namespace Tool_by_Devidra
{
public partial class Form1 : Form
{
private Process[] proc;
internal System.Windows.Forms.ComboBox ComboBox1_DropDown;
public Form1()
{
InitializeComponent();
}
//Programmstart
private void Form1_Load(object sender, EventArgs e)
{
// Hook up the event handler.
this.comboBox1.DropDown +=
new System.EventHandler(comboBox1_DropDown);
}
private void comboBox1_DropDown(object sender, System.EventArgs e)
{
ComboBox1_DropDown.Items.Clear();
proc = Process.GetProcessesByName("prozess");
foreach (Process p in proc)
{
ComboBox1_DropDown.Items.Add(p.Id);
}
}
Sollte eigentlich so stimmen, klappen tuts ja.. Nur wieso gibt der mir beim auswählen eines Items nochmal die MessageBox? Wenn ich die MessageBox entferne, kommt sie garnichtmehr, also muss die da wohl bleiben
Edit: Hab den Fehler, bin ich blöd, hab den Hook nicht GroßKleinschreibung beachtet ;)
Ok, hab nun auch bisschen mit den SetForegroundWindow(handle) gemacht, nur bekomme ich eine Fehlermeldung
Code:
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
private IntPtr handle;
private Process process_front;
private void button1_Click(object sender, EventArgs e)
{
handle = ComboBox1_DropDown.SelectedItem;
SetForegroundWindow(handle);
}
Fehlermeldung ist:
Quote:
|
Fehler 2 Der Typ 'object' kann nicht implizit in 'System.IntPtr' konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.) c:\users\devidra\documents\visual studio 2013\Projects\Tool by Devidra\Tool by Devidra\Form1.cs 310 22 v19 F-Tool by Devidra
|
Quote:
|
ComboBox1_DropDown.SelectedItem
|
Das unterstrichene ist der Fehler, hoffe mal der Ansatz stimmt so :(
Edit: Hab nun was getestet, habe dies hier geändert
Code:
handle = process_front.MainWindowHandle;
Code:
process_front = Process.Start("cmd");
und dies hier eingefügt, dies funktioniert auf jedenfall..
Ich vermute, das ich noch irgendwie die richtige ProzessID einfügen muss, da ich ja schon den richtigen Prozess + ID finden kann ( sind ja in der comboBox gelistet )
Also wie kann ich die Prozess ID von "comboBox1_DropDown.SelectedItem" dort einfügen?