C# WPF如何将本机消息传递--parent-window转换为IntPtr hwnd

chy5wohz  于 2023-10-22  发布在  C#
关注(0)|答案(1)|浏览(164)

我正在尝试将本机消息传递参数**--parent-window=**转换为C# IntPtr hwnd值。以下代码不起作用:

[DllImport("user32.dll")]
public static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, out uint ProcessId);
foreach (string arg in Environment.GetCommandLineArgs())
{
    if (arg.IndexOf("--parent-window") != -1)
    {
        string[] subs = arg.Split('=');
        IntPtr hwnd = new IntPtr(Convert.ToInt32(subs[1], 16));
        uint pid;
        GetWindowThreadProcessId(hwnd, out pid);
        System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById((int)pid);
        Console.WriteLine(p.MainModule.FileName.ToString());            
    }
}

你能帮我重写一下吗?这样它就能显示--parent-window的文件名了。

b09cbbtk

b09cbbtk1#

查看评论后,请尝试正常转换为Int32:

IntPtr hwnd = new IntPtr(Convert.ToInt32(subs[1]));

相关问题