黑客lync开始录音

时间:2016-01-25 09:02:32

标签: c# lync-2013 spy++ window-messages

我已经提到了几个来源,并发现无法使用lync sdk以编程方式控制屏幕录制。

所以我采用了spyxx.exe方法,以便能够找出对话窗口为了开始录制而获得的消息(在lync 2013中)

如何开始lync录音?

必备: 您应为您的个人资料启用录制

立即见面>致电>分享桌面>选项>开始录制

Steps to do recording...

所以我开始了我的spyxx计划;现在开始交谈了;找到spyxx中的那个窗口,并听取它的消息。然后只使用键盘,我尝试开始录制,然后记录窗口接收的窗口消息。

注意:如果您不希望spyxx.exe获得如此多的鼠标移动事件,您可以完全摆脱桌面录制部分,并且只需启动呼叫并直接开始录制。

在研究消息时,我认为这两条消息应该起作用......

<000155> 002B030E P message:0x0504 [User-defined:WM_USER+260] wParam:00000000 lParam:00000000
<000156> 002B030E P message:0x0507 [User-defined:WM_USER+263] wParam:00000000 lParam:00000000

但是,在尝试将这些消息发送到对话窗口时,它会失败。

以下是负责该特定任务的代码存根:

if(win != null)
{
    Console.WriteLine("{0} ({1})",win.title, win.handle);
    uint msg1 = 0x0504;
    uint msg2 = 0x0507;
    Console.WriteLine("Press for applying messages...");
    Console.ReadLine();
    Win32Native.PostMessage(win.handle, msg1);
    Win32Native.PostMessage(win.handle, msg2);
}

完整代码here

1 个答案:

答案 0 :(得分:0)

我已经使用了SendKeys.SendWait和SetForegroundWindow的组合。本质上,这不是向“对话”窗口发送消息。相反,我们发送击键。不是一个好的解决方法。众所周知这有问题。相关的代码片段如下:

Windowing.SetForegroundWindow(win.Handle);
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{TAB}");
SendKeys.SendWait(" ");
SendKeys.SendWait("r");

对于整个代码,您可以使用我的git项目repo进行检查。那里的代码还显示了如何使用相同的方法停止录制。

对于winapi函数调用,我使用了FmUtils.Winapi