我用php编写了一个程序,我可以在其中调用dll函数。该dll包含一些散列代码..我通过下面的代码从vb6调用这个dll的函数:
Private Declare Function GetHash Lib "hashGen.dll" (ByVal tEncode As String) As Long
Private Sub get_Key()
MsgBox GetHash("hello world")
end sub
谁能告诉我如何在PHP中调用这个函数?
下面是我的dll文件:
thnx..
当我试图编译我的ICE30安装程序项目时,我正在接收一个WiX。完整的错误如下:
ICE30: The target file 'DPFPSH~1.DLL|DPFPShrNET.dll' is installed in
'[TARGETDIR]\Windows\DPDrv\' by two different components on an SFN system:
'DPFPShrNET.DA2BFC77_FAFE_41D1_8BB6_134232B2EADC' and
'DPFPShrXTypeLibNET.5
我正在使用一个第三方.net dll,我正在打电话给它。我正在简化我的代码,但它是这样的。
// The assembly has already been loaded into 'ass'
Type params = ass.GetType("RemoteCalls.ParametersDelegate");
Delegate UseDel = Delegate.CreateDelegate(params, this, "MyGetParams");
然后,我可以将这个委托(UseDel)传递到反射对象中,它将在需要时调用MyGetPara
因此,我的目录目录设置如下:
DirectoryCatalog directoryCatalog = new DirectoryCatalog(@".\Plugins");
var catalog = new AggregateCatalog(directoryCatalog);
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
它将在我的Plugins文件夹中找到符合我的导入标准的..dll。现在,为了防止插件中的引用冲突,我想将每个插件放在一个单独的文件夹中。
例
在下面的代码中,我将在运行时加载dll。但是这里的问题是,在DLL中可用的方法在运行时是可用的。
例如,对于一个参数(SetForegroundWindow)的方法,我应该声明委托int MyFunc(IntPtr a);
对于没有参数的方法(GetForegroundWindow),我应该声明委托int MyFunc();
考虑下面的C#代码:
public partial class Form1 : Form
{
[DllImport("kernel32.dll")]
public static extern IntPtr LoadLibrary(str
在我的C++头文件中,我有以下内容:
#ifdef _DLL
#define DLL_API __declspec(dllexport) // Being compiled as a DLL.
#else
#define DLL_API // Not being compiled as a DLL.
#endif
后来,我有了这样的东西:
DLL_API int GetNumber();
我过于简单化了,但这里的基本问题是,如果DLL_API没有定义,是否有办法让编译器跳过它。
我在c++中创建了一个dll,它使用.def file.The函数导出函数,如下所示:
__declspec(dllexport) int __stdcall MethodA(int par1,int par2,char *par3)
{....}
然后,方法在.def文件中声明为
MethodA @1
现在我的问题是如何在我的C#应用程序中使用这个方法?我尝试在我的C#应用程序中添加dll文件作为引用,并得到以下消息
"A reference to the filename.dll could not be added please make sure that the