相关疑难解决方法(0)

如何获取当前的ProcessID?

使用.NET Framework从您自己的应用程序中获取当前进程ID的最简单方法是什么?

.net process

67
推荐指数
3
解决办法
5万
查看次数

启动进程后,C#获取窗口句柄

有没有办法在使用Process.Start()从C#应用程序启动窗口后获取窗口句柄(IntPtr)?

c# window-handles

5
推荐指数
3
解决办法
2万
查看次数

无法从GetProcessId(.. hWnd)中提取processID(pInvoke)

即时通讯使用以下方法

    [DllImport("kernel32.dll", SetLastError=true)]
    static extern int GetProcessId(IntPtr hWnd);
Run Code Online (Sandbox Code Playgroud)

尝试获取正在运行的进程的processId,我唯一的信息是HWND.我的问题是它始终返回错误代码6,即ERROR_INVALID_HANDLE.我以为我可能会将参数更改为int类型,但也没有用.我无法枚举正在运行的进程,因为任何时候都可能有多个实例在运行.

谁能看出我做错了什么?

注意:该进程是从暴露给框架的自动化对象中生成的,只提供HWND属性.也许还有另一种方法来获取processID,因为我编写的代码首先负责运行它?

我的代码看起来与此类似......

AutomationApplication.Application extApp = new AutomationApplication.Application(); extApp.Run(); ...

c# pinvoke automation process handle

2
推荐指数
1
解决办法
6452
查看次数

使用sendkey函数将键盘密钥发送到C#中的浏览器

您好我正在尝试使用下面的代码向浏览器发送密钥,新的Chrome窗口为我打开,但它不会将密钥发送到浏览器.

当我调试我发现铬过程没有任何标题名称我怎么能解决这个问题?

 Process.Start("chrome.exe", "https://labs.sketchfab.com/sculptfab/");
        System.Threading.Thread.Sleep(2000);
        foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
        {
            if (p.ProcessName == "chrome" && p.MainWindowTitle == "SculptFab - SculptGL + Sketchfab" &&
                p.MainWindowHandle != IntPtr.Zero)
            {
                System.Threading.Thread.Sleep(2000);
                for (int i = 0; i < 50; i++)
                {
                    KeyHandle.SetForeGround(p.MainWindowHandle);
                    SendKeys.Send("s");
                    System.Threading.Thread.Sleep(2000);
                }

            }
        }
Run Code Online (Sandbox Code Playgroud)

在上面提到的页面中,当键盘上按下"S"时,它会缩小我想要的对象,使用我的C#代码实现这一点

c# process sendkeys

2
推荐指数
1
解决办法
8605
查看次数

标签 统计

c# ×3

process ×3

.net ×1

automation ×1

handle ×1

pinvoke ×1

sendkeys ×1

window-handles ×1