コード例 #1
0
ファイル: Program.cs プロジェクト: NanoLP/FC3Editor
 private static bool OpenExistingAppCallback(IntPtr hWnd, IntPtr lParam)
 {
     if (Win32.GetProp(hWnd, Program.programGuid) != IntPtr.Zero)
     {
         Win32.SetForegroundWindow(hWnd);
         IntPtr intPtr      = IntPtr.Zero;
         int    cbData      = 0;
         string mapArgument = Program.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);
 }
コード例 #2
0
ファイル: Win32.cs プロジェクト: NanoLP/FC3Editor
 public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, ref Win32.COPYDATASTRUCT lParam);