コード例 #1
0
        public static bool SendString(IntPtr hwnd,
                                      uint msg, int dwData, string value,
                                      bool unicode = true)
        {
            var data = CreateForString(
                dwData, value, unicode);
            var dataSize = Environment
                           .GetSize <CopyData>();
            var dataPtr = Marshal
                          .AllocCoTaskMem(dataSize);

            Marshal.StructureToPtr(
                data, dataPtr, false);

            var messageReceived = WindowNative
                                  .SendMessage(hwnd, msg,
                                               IntPtr.Zero, dataPtr)
                                  .ToInt32() != 0;

            data.Dispose();

            Marshal.FreeCoTaskMem(
                dataPtr);

            return(messageReceived);
        }