一个用.net写的EXE程序在XP下能成功调用C++写的DLL,那个dll放在system32下。
后来程序放到Windows server 2003下运行,就是不能调用,把所有权限的地方都设置成了EVERYONE还是不能调用。
问题和这个一样,但是这个问题后来也没有什么明确的答案,大家帮帮忙,谢谢!
后来程序放到Windows server 2003下运行,就是不能调用,把所有权限的地方都设置成了EVERYONE还是不能调用。
问题和这个一样,但是这个问题后来也没有什么明确的答案,大家帮帮忙,谢谢!
解决方案 »
- 类库中的类如何对窗体中的控件进行操作?
- .ExecuteScalar()未处理问题
- 我急需 RPC 和 UDP 邦定的例子
- 头疼了,这边人气旺点,望高手能帮忙之个招!
- 请问怎样才能把带DataGrid里的数据页发送的客户的E_mail中呀?
- 大家都来说说啊 多长时间做到高级软件工程师?答者有分
- 水晶报表10的刷新问题,,。。。。预览时错误,打印时是好的
- 如何判断一个文本文件是否正在被使用?
- 求助大神,ado.net问题
- c# winform 如何在 win10系统中设置输入法切换
- 求助,DOTNET2005中Microsoft.Office.Interop.Word类中将数据以表格格式输入模板的方法
- 图像的选择、复制问题
1、C++的Dll是个什么Dll(COM,Win32 Dll,ActiveX Dll)
2、PInvoke和权限无关,但和路径相关,你必须确保.NET PInvoke没有Hard code指定路径
3、PInvoke不能成功调用有两个结果:不能调用,一运行到调用就抛出FileNotFoundException;能运行,返回值错误或得到其他异常。
4、确定C++的Dll和系统平台无关根据LZ的描述,不能推导出具体为什么,写的太笼统,贴些代码看看吧
1.dll为另一方提供的,所以没有dll的代码,应该是一个win32 dll
2.你的问题我不太明白,你指在c#调用这里有没有写死路径?C#这里用的是DLLImport没有写完全路径,就给出了dll的名字。
3.函数能够运行,但是返回了错误代码,那个错误代码表示没有找到文件,情况时这样的,C#调用C++的dll,C++的程序读取
他本身所在目录下的一些文件,现在C++dll放在System32下面,那些文件放在System32\FileXX\下,在xp下运行完全正
常,但是server 2003下调用函数会返回错误代码表示文件没有找到,可能是找不到那些C++dll要用的文件。
http://www.80diy.com/home/20040910/04/3358096.html
比如命令行里显示C:\>的话那些文件就都要在C:\下,后面你指定路径也没用,比如C:\>C:\Windows\System32\..
是没用的,不知道这个算不算一个线索。