Nomad.Game.OpenExistingAppCallback C# (CSharp) Method

OpenExistingAppCallback() public static method

public static OpenExistingAppCallback ( IntPtr hWnd, IntPtr lParam ) : bool
hWnd System.IntPtr
lParam System.IntPtr
return bool
        public static bool OpenExistingAppCallback(IntPtr hWnd, IntPtr lParam)
        {
            if (Win32.GetProp(hWnd, Game.programGuid) != IntPtr.Zero)
            {
                Win32.SetForegroundWindow(hWnd);
                IntPtr intPtr = IntPtr.Zero;
                int cbData = 0;
                string mapArgument = EngineUtils.GetMapArgument();
                if (mapArgument != null)
                {
                    intPtr = Marshal.StringToCoTaskMemUni(mapArgument);
                    cbData = (mapArgument.Length + 1) * 2;
                }
                if (intPtr != IntPtr.Zero)
                {
                    Win32.COPYDATASTRUCT cOPYDATASTRUCT = default(Win32.COPYDATASTRUCT);
                    cOPYDATASTRUCT.dwData = IntPtr.Zero;
                    cOPYDATASTRUCT.lpData = intPtr;
                    cOPYDATASTRUCT.cbData = cbData;
                    Win32.SendMessage(hWnd, 74, 0, ref cOPYDATASTRUCT);
                }
                Marshal.FreeCoTaskMem(intPtr);
                return false;
            }
            return true;
        }