Esempio n. 1
0
                /// <summary>
                /// Sends byte[] to a window of another process using API <msdn>SendMessage</msdn>(<msdn>WM_COPYDATA</msdn>).
                /// More info: <see cref="SendString"/>.
                /// </summary>
                public static unsafe LPARAM SendBytes(AWnd w, int dataId, byte[] a, LPARAM wParam = default)
                {
                    fixed(byte *p = a)
                    {
                        var c = new CopyDataStruct {
                            _dwData = dataId, _cbData = a.Length, _lpData = p
                        };

                        return(w.Send(Api.WM_COPYDATA, wParam, &c));
                    }
                }
Esempio n. 2
0
                /// <summary>
                /// Sends string to a window of another process using API <msdn>SendMessage</msdn>(<msdn>WM_COPYDATA</msdn>).
                /// </summary>
                /// <returns><b>SendMessage</b>'s return value.</returns>
                /// <param name="w">The window.</param>
                /// <param name="dataId">Data id. It is <msdn>COPYDATASTRUCT.dwData</msdn>.</param>
                /// <param name="s">Data. Can contain '\0' characters.</param>
                /// <param name="wParam">wParam of WM_COPYDATA. Optional.</param>
                public static LPARAM SendString(AWnd w, int dataId, string s, LPARAM wParam = default)
                {
                    fixed(char *p = s)
                    {
                        var c = new CopyDataStruct {
                            _dwData = dataId, _cbData = s.Length * 2, _lpData = p
                        };

                        return(w.Send(Api.WM_COPYDATA, wParam, &c));
                    }
                }
Esempio n. 3
0
 /// <summary>
 /// Sets font.
 /// </summary>
 /// <param name="w"></param>
 /// <param name="font">Native font handle. If default(IntPtr), sets font that is used by most windows and controls on this computer. Usually it is Segoe UI, 9.</param>
 /// <remarks>
 /// Sends <msdn>WM_SETFONT</msdn> message.
 /// </remarks>
 public static void SetFont(AWnd w, IntPtr font = default)
 {
     w.Send(Api.WM_SETFONT, font != default ? font : Util.NativeFont_.RegularCached.Handle);
 }