【VS】 对 PInvoke 函数***的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配

从网上查了很久解决不了,在这篇博文中找到了答案 https://blog.csdn.net/jinhuicao/article/details/83584973

在C#中一定要检查引用时的数据类型 WinAPI 的数据类型 默认是32位的,但是引用时外部的是 Long类型默认是64位的。所以引用时需要将 long 改为 int 型。

看了下我的引用,确实有long,于把long改成int,解决了。不过还是没弄明白 为什么在另一个项目中用的同样的代码不报错,而这个却报错。

猜你喜欢

转载自blog.csdn.net/qq_19764639/article/details/96467180