前提
你的WM设备必须支持扬声器,模拟器自然不行 首先,需要导入用于发送按键消息的本地函数 class NativeHelper
 {
private const int KEYEVENTF_KEYUP = 0x0002;
[DllImport("coredll.dll")]
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
 /**//// <summary>
/// 模拟按键触发扬声器
/// </summary>
public static void TriggleSpeaker()
 {
keybd_event((byte)Keys.F16, 0, 0, 0);
Thread.Sleep(500);
keybd_event((byte)Keys.F16, 0, KEYEVENTF_KEYUP, 0);
}
 /**//// <summary>
/// 模拟按键接电话
/// </summary>
public static void AcceptCall()
 {
keybd_event((byte)Keys.F3, 0, 0, 0);
Thread.Sleep(500);
keybd_event((byte)Keys.F3, 0, KEYEVENTF_KEYUP, 0);
}
}调用的时候: SystemState phonestate = new SystemState(SystemProperty.PhoneIncomingCall);
phonestate.Changed += new ChangeEventHandler(phonestate_Changed);
 

void phonestate_Changed(object sender, ChangeEventArgs args)
 {
NativeHelper.AcceptCall();
NativeHelper.TriggleSpeaker();
}Enjoy it!
|