我尝试在R Session中访问user32.dll函数。我使用了代码:
dyn.load("c://windows//system32//user32.dll")
.External("MessageBeep", 0L)
但是R会话崩溃。根据文档.External
打算在R包创建期间使用。但是,如上所示,没有禁止使用它。
我正在使用Windows 8和RStudio(1.1.453)/ R(3.5.0)。您能否建议从R会话中调用外部Windows函数的正确方法?
答案 0 :(得分:3)
Artem,
您正在访问Win32 C API,因此可以加载user32.dll,然后使用Foreign
{base}
.C()
调用也可以访问Window32 MessageBeep函数
dyn.load("c://windows//system32//user32.dll")
.C("MessageBeep")
> dyn.load("c://windows//system32//user32.dll")
> .C("MessageBeep")
list()
>
您应该会听到Windows消息“哔”一声-las,我尚未弄清楚如何在解决方案中包含声音(咯咯笑)。希望以上内容能帮助您解决问题。
注意:我还建议您看看Rcpp程序包,我非常喜欢。