3

これらのどれを使用しようとしても、Process.GetProcessById().ProcessNameすべてのプロセスが実行されていないことを示す例外がスローされます。

    [DllImport("user32.dll", SetLastError = true)]
    static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

    [DllImport("user32.dll")]
    static extern uint GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);

            for (int x = 0; x < listBox1.Items.Count; x++)
            {
                IntPtr y = new IntPtr(Convert.ToInt32(listBox1.Items[x].ToString()));
                uint processID = 0;
                int procID = Convert.ToInt32(GetWindowThreadProcessId(y, out processID));
                //int procID = Convert.ToInt32(GetWindowThreadProcessId(y, IntPtr.Zero);
                //listBox2.Items.Add(procID);
                listBox2.Items.Add(Process.GetProcessById(procID).ProcessName);
            }
4

0 に答える 0