C# 从pid获取窗口标题

C# 从pid获取窗口标题,c#,window,pid,autoit-c#-wrapper,C#,Window,Pid,Autoit C# Wrapper,我正在寻找一种从进程id获取窗口标题的方法 我想构建函数获取特定窗口的pid并返回其窗口标题 我试着用AutoIt,但没用 有什么想法吗?这应该很简单: Process.GetProcessById(processId).MainWindowTitle; 如果您喜欢它作为您要求的功能: public string GetWindowTitle(int processId){ return Process.GetProcessById(processId).MainWindowTitle;

我正在寻找一种从进程id获取窗口标题的方法

我想构建函数获取特定窗口的pid并返回其窗口标题

我试着用AutoIt,但没用


有什么想法吗?

这应该很简单:

Process.GetProcessById(processId).MainWindowTitle;
如果您喜欢它作为您要求的功能:

public string GetWindowTitle(int processId){
  return Process.GetProcessById(processId).MainWindowTitle;
}

这在AutoIt中已经做过多次,可以选择返回属于进程的所有窗口,而不仅仅是主窗口

提供标准解决方案。如果腐烂蔓延:

;0 will return 1 base array; leaving it 1 will return the first visible window it finds
Func _WinGetByPID($iPID, $nArray = 1)
    If IsString($iPID) Then $iPID = ProcessExists($iPID)
    Local $aWList = WinList(), $sHold

    For $iCC = 1 To $aWList[0][0]
        If WinGetProcess($aWList[$iCC][1]) = $iPID And _
            BitAND(WinGetState($aWList[$iCC][1]), 2) = 0 Then
            If $nArray Then Return $aWList[$iCC][0]
            $sHold &= $aWList[$iCC][0] & Chr(1)
        EndIf
    Next

    If $sHold Then Return StringSplit(StringTrimRight($sHold, 1), Chr(1))
    Return SetError(1, 0, 0)
EndFunc

为了避免未来的谷歌用户不得不查找它,这需要使用System.Diagnostics
@OndrejSotolar,它被标记为AutoIt,OP在问题中甚至没有提到C,所以你完全基于标记的顺序。在任何情况下,有人用谷歌搜索“autoit get window from pid”可能会出现在这里,那么问题出在哪里呢?正是我所做的,当我用谷歌搜索“autoit process to window”时,最初的几个结果之一正确的语言应该是C#,带有autoit库。