0

サーバー側でこのコードを使用しました

    void Window_Loaded(object sender, RoutedEventArgs e)
    {

        HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);
        source.AddHook(new HwndSourceHook(WndProc));

    }
    private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
    {
        // Handle messages...

            var htLocation = DefWindowProc(hwnd, msg, wParam, lParam).ToInt32();

            if (msg == 1)
            {
            MessageBox.Show("" + msg);
            }


        return new IntPtr(1);
    }

そして、このようにクライアント側からメッセージを送信します

SendMessage(m_Process.MainWindowHandle, 1, (IntPtr)(-1), (IntPtr)(-1));

問題は、サーバー側がこのメッセージを受信できないことです。なぜですか?

4

1 に答える 1

1

間違いを見つけました

送信したメッセージ ID は 1 ではなく 0x0112 である必要があります。これは Windows コマンド用です

于 2016-12-14T14:16:03.627 に答える