同じユーザーが複数の同時セッションでWindows7ステーションにログインしています(同時RDPまたはステーションでログインしてからRDP経由でログインするなど)。
更新: わかりました、この質問での私の研究はこの時点で立ち往生しています(それほど複雑でないコードを書くためのPythonの例):
#!/usr/bin/env python
import ctypes
import ctypes.wintypes as wintypes
def enum_desktops():
GetProcessWindowStation = user32.GetProcessWindowStation
EnumDesktops = user32.EnumDesktopsW
EnumDesktopsProc = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.LPWSTR, wintypes.LPARAM)
hwinsta = GetProcessWindowStation()
def foreach_desktop(desk_name, lparam):
print("Desktop %s"%desk_name)
return True
EnumDesktops(hwinsta, EnumDesktopsProc(foreach_desktop), desk_lparam)
この関数は、「デフォルト」および「Winlogon」デスクトップに関する情報を出力します。ウィンドウステーションを列挙しようとすると、「WinSta0」のみが表示されますが、別のログオンセッションで開始された可能性のあるターゲットプロセスを確認できます。
では、ターゲットデスクトップのウィンドウを見つけるために何を使用すればよいですか?
現時点では、デーモンはオプションではありません。