ASP.NET调用DLL
WIN窗体调用没有问题
所有DLL全部放到BIN底下了,并且asp.net用户权限给成了管理员权限
DLL是用VC6.0编写的
1> DLL中能不能使用回调函数,比如Enumwidows,并找到指定的进程
2> DLL与应用程序共享内存的问题
欢迎帮顶,谢谢
------解决方案--------------------沙发先
------解决方案--------------------up
------解决方案--------------------用DLLImport
------解决方案--------------------帮顶
------解决方案--------------------1
------解决方案--------------------顶
------解决方案--------------------UP
------解决方案--------------------using System.InteropServices;
DllImport();
------解决方案--------------------DLLImport
------解决方案--------------------不知道,学习中,帮顶!
------解决方案--------------------学习了!谢谢lz
------解决方案--------------------学习了!顶下!
------解决方案--------------------1.你试一下不就知道了 理论上因该可以 不过它找到的是它的载体的用户下的东西(例如asp.net账户),所以找到的窗体和你现有桌面的窗体并不会一致,就算设置成admin启动,也不会一致,服务会开启一个shell因此似乎EnumWindow没什么意义
2.不知道
------解决方案--------------------UP 学习
------解决方案--------------------不清楚
------解决方案--------------------学习
------解决方案--------------------mark
------解决方案--------------------VC的DLL用的时候要先注册
------解决方案--------------------用下面写的动态加载非托管Dll的方法,我在调用C++builder写的Dll时,没有问题的。
#region 枚举定义
/// <summary>
/// 参数传递方式枚举 ,ByValue 表示值传递 ,ByRef 表示址传递
/// </summary>
public enum ModePass
{
ByValue = 0x0001,
ByRef = 0x0002
}
#endregion
#region win32 API动态加载DLL使用
/// <summary>
/// 原型是 :HMODULE LoadLibrary(LPCTSTR lpFileName);
/// </summary>
/// <param name= "as_fileName "> DLL 文件名 </param>
/// <returns> 函数库模块的句柄 </returns>
///
[DllImport( "kernel32.dll ")]
static extern IntPtr LoadLibrary(string as_fileName);
[DllImport( "kernel32.dll ", SetLastError = true)]
private static extern IntPtr LoadLibraryEx(string as_fileName, IntPtr aip_file, uint aui_flags);
/// <summary>
/// 原型是 : FARPROC GetProcAddress(HMODULE hModule, LPCWSTR lpProcName);
/// </summary>
/// <param name= "hModule "> 包含需调用函数的函数库模块的句柄 </param>
/// <param name= "lpProcName "> 调用函数的名称 </param>
/// <returns> 函数指针 </returns>
[DllImport( "kernel32.dll ")]
static extern IntPtr GetProcAddress(IntPtr aip_Module, string as_procName);