问题描述
我正在尝试使用 Windows API 中的 RegGetValueA()
,但到目前为止我一直无法从中获得任何结果。充其量,我会收到“找不到文件”错误,最坏的情况是它在没有任何错误消息的情况下严重崩溃。
以下是我目前的代码;我不确定什么是相关的,什么是不相关的,以及可能导致问题的原因与否。我只有一点点 C 知识,所以请尽量保持简单。
ffi.cdef([[
typedef void * HKEY;
typedef HKEY * PHKEY;
typedef unsigned long DWORD;
int RegGetValueA(HKEY handle,const char* path,const char* value,int filter_flags,void* unused,char *result,DWORD* size);
]])
local size = ffi.new('DWORD[1]')
size = 1024
local data = ffi.new('char['..size..']')
local dptr = ffi.cast('char*',data)
local lenptr = ffi.cast('DWORD*',size)
test = reg.RegGetValueA(ffi.cast("HKEY",ffi.cast("uintptr_t",0x80000002)),"SOFTWARE\\Microsoft\\Speech\\Voices\\Tokens\\CereVoice Heather 5.0.1","CLSID",0x0000ffff,nil,dptr,lenptr)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)