Golang 中的 Syscall 到 dll lib

Syscall in Golang to dll lib

提问人:fdd fd 提问时间:7/11/2023 最后编辑:Zeke Lufdd fd 更新时间:7/11/2023 访问量:89

问:

我无法将字符串带到Goland中的MZFanDll.dll并在dll中调用func。

func main() {
    user32 := syscall.MustLoadDLL("MZFanDll.dll")
    messageBox := user32.MustFindProc("GET_OP_CALCULATION")
    text, _ := syscall.UTF16PtrFromString("ECF(K)6E192-PLHDAJ1;0;1.2;0;20;200;500")
    MB_OK := 0
    ret, _, _ := messageBox.Call(
        uintptr(0),
        uintptr(unsafe.Pointer(text)),
        uintptr(MB_OK))
    fmt.Printf("Returned: %d\n", ret)
}

当我运行这段代码时,我感到恐慌

panic: Failed to load MZFanDll.dll: %1 is not a valid Win32 application.

怎么了?如何避免恐慌?

戈兰 恐慌

评论

0赞 Vishwa Ratna 7/11/2023
尝试将 MZFanDll.dll 文件替换为来自信誉良好的来源的新副本。Alo 在代码中调用 MZFanDll.dll 时检查路径。

答: 暂无答案