31 lines
663 B
C#
31 lines
663 B
C#
namespace Ultima
|
|
{
|
|
public class WindowProcessStream : ProcessStream
|
|
{
|
|
private ClientWindowHandle m_Window;
|
|
private ClientProcessHandle m_ProcessID;
|
|
|
|
public ClientWindowHandle Window { get { return m_Window; } set { m_Window = value; } }
|
|
|
|
public WindowProcessStream(ClientWindowHandle window)
|
|
{
|
|
m_Window = window;
|
|
m_ProcessID = ClientProcessHandle.Invalid;
|
|
}
|
|
|
|
public override ClientProcessHandle ProcessID
|
|
{
|
|
get
|
|
{
|
|
if (NativeMethods.IsWindow(m_Window) != 0 && !m_ProcessID.IsInvalid)
|
|
{
|
|
return m_ProcessID;
|
|
}
|
|
|
|
NativeMethods.GetWindowThreadProcessId(m_Window, ref m_ProcessID);
|
|
|
|
return m_ProcessID;
|
|
}
|
|
}
|
|
}
|
|
} |