为什么WndProc会被多次调用,当设备插入时,WndProc会被调用四次:
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
IntPtr windowHandle = (new WindowInteropHelper(this)).Handle;
HwndSource src = HwndSource.FromHwnd(windowHandle);
src.AddHook(new HwndSourceHook(WndProc));
}
private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
// Handle WM_DEVICECHANGE
if (msg == 0x0219)
{谢谢
发布于 2012-10-12 15:14:47
是的,它是这样做的,但是你可能会注意到不同的wParam和lParam。对于每个事件,WndProc都会收到来自操作系统的消息。msg之后的其他参数值将让您知道它们被引发的上下文。
https://stackoverflow.com/questions/12854022
复制相似问题