private static void SendStopMessageToProcess(int processId)
{
try
{
for (var ptr = NativeMethods.GetTopWindow(IntPtr.Zero);
ptr != IntPtr.Zero;
ptr = NativeMethods.GetWindow(ptr, 2))
{
uint num;
NativeMethods.GetWindowThreadProcessId(ptr, out num);
if (processId == num)
{
var handle = new HandleRef(null, ptr);
NativeMethods.PostMessage(handle, 0x12, IntPtr.Zero, IntPtr.Zero);
return;
}
}
}
catch (ArgumentException)
{
}
}