我试试这个
name := C.CString("vds")
C.OpenService(scm, (name), C.DWORD(C.SC_MANAGER_ALL_ACCESS))
但它不会编译
.\test.go:28: cannot use name (type *C.char) as type *C.CHAR in argument to _Cfunc_OpenService
我试着寻找类似的东西(例如 sqlite),但他们似乎使用相同的习惯用法,但它编译
最佳答案
尝试显式转换它:
name := C.CString("vds")
C.OpenService(scm, (*C.CHAR)(unsafe.Pointer(name)), C>DWORD(C.SC_MANAGER_ALL_ACCESS))
关于go - 使用 cgo 将字符串传递给 win32 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35567028/