标签: dll

Java - 库问题

我使用QtJambi的端口Qt,以Java和启动我的应用程序时,它需要相应的dll文件.

Loading library: 'qtjambi.dll'...
 - using 'java.library.path'

    at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Unknown
    at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary(Unknown Source)
    at com.trolltech.qt.Utilities.loadJambiLibrary(Unknown Source)
    at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(Unknown Source)
    ... 7 more
Caused by: java.lang.RuntimeException: Library 'qtjambi.dll' wasn't found in PATH
Run Code Online (Sandbox Code Playgroud)

现在,配置我的项目(in )最佳方法是什么,IntelliJ IDEA以便它自动使用提供的dll文件?

我不想修改PATH或类似的东西,因为我希望这是仅限项目的解决方案,与OS设置无关.

谢谢

java dll intellij-idea

-2
推荐指数
1
解决办法
1918
查看次数

FileNotFoundException(找不到DLL)

我在客户的一台机器上遇到了这个奇怪的错误.它抛出FileNotFoundException,但是那个DLL肯定就在那个带有Executable的文件夹中..为什么它找不到它?请指教..

.net c# dll filenotfoundexception

-2
推荐指数
1
解决办法
3101
查看次数

使用 loadlibrary 函数加载多个库

我想加载以下库。

librariesmozcrt19.dll
nspr4.dll
plc4.dll
plds4.dll
mozsqlite3.dll
nssutil3.dll
softokn3.dll
nss3.dll
Run Code Online (Sandbox Code Playgroud)

我知道单个库可以加载为

HMODULE hDLL=LoadLibrary(pDLLName);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何加载多个库。

dll winapi msdn

-2
推荐指数
1
解决办法
177
查看次数

如何从perl文件生成dll?

我有一个.pl文件(perl文件)我需要为那个perl文件生成.dll,我不知道怎么生成可以帮助我吗?

dll perl

-3
推荐指数
1
解决办法
1684
查看次数

在Linux上加载C运行时

作为Linux上的新手我有一些问题:
如何从程序加载C运行时?
路径和文件名是什么?

在Windows上它是

C:\Windows\System32\msvcrt.dll
Run Code Online (Sandbox Code Playgroud)

顺便问一下,Linux上调用的DLL是什么?

什么是对应MS的功能LoadLibraryGetProcAddress
它们驻留在什么DLL中?
我必须链接哪个库才能访问它们?
在Windows下它是kernel32.libkernel32.dll.

最后:如何独立于目标平台编写Masm/JWasm代码?
是否有反映命令行上使用的目标arg的汇编符号?

编辑:我忘了问几个问题:Linux是64位还是32位?它是否使用与64位MS C相同的调用约定?我的意思是rcx,rdx,r8,r9等参数.

c linux windows dll assembly

-3
推荐指数
1
解决办法
1176
查看次数

即使进程关闭,也要保持DLL加载

我正在开发一个将由我的EXE加载的DLL文件...所以EXE将调用第一个DLL程序,当这个程序加载时我想保持它打开,即使EXE关闭.例如,我有一个带有计时器的DLL,显示一个'Hello World'消息.DLL代码:

uses
  SysUtils,
  Classes,
  Dialogs,
  ExtCtrls;

{$R *.res}

type
  TMyTimer = Class(TTimer)
  public
    procedure OnMyTimer(Sender: TObject);
  end;

procedure DllMessage; export;
var
  MyTimer: TMyTimer;
begin
  MyTimer := TMyTimer.Create(nil);
  MyTimer.Interval := 10000;
  MyTimer.OnTimer := MyTimer.OnMyTimer;
end;


procedure TMyTimer.OnMyTimer(Sender: TObject);
begin
  ShowMessage('Hello World');
end;

exports DllMessage;

begin
end.
Run Code Online (Sandbox Code Playgroud)

EXE加载如下:

procedure DllMessage; external 'Message.dll'

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  DllMessage;
end;
Run Code Online (Sandbox Code Playgroud)

当我关闭EXE时,我希望DLL继续运行并每隔10秒显示一条消息......这可能吗?

delphi dll

-4
推荐指数
1
解决办法
291
查看次数

像 Process Hacker 那样卸载 dll

我想像 Process Hacker 那样卸载程序的 DLL。

我正在获取模块列表,它CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPALL, dwProcId)允许我MODULEENTRY32包含要卸载的 DLL 的信息。

但是FreeLibrary()或者FreeLibraryAndExitThread()不要做任何事情,因为程序正在使用 dll。这就是为什么我不明白 Process Hacker 在使用过程中是如何做到的。

所以这是我的问题:Process Hacker 如何卸载另一个程序使用的 dll?我试图查看源代码,但找不到任何东西。

现在我知道它会导致程序崩溃,但这不是问题。

c dll winapi module process

-4
推荐指数
1
解决办法
844
查看次数

将此C代码移植到Delphi/Lazarus

我在C中有这个代码,我想移植到Delphi,但我不能让它工作.

.CPP代码

#include <Windows.h>

#include <io.h>
#include <stdio.h>

#include "GLibExp.h"
#pragma comment(lib, "GLib.lib")

void MyCFunc(LPCTSTR GStr)
{
    GFile GVar = NULL;
    GVar = GrfLoad(GStr, 1);
    if ( !GVar )
    {
        printf("Error during loading!\n");
    } else
        printf("All fine!\n");

    GrfFree(GVar);
    system("pause");
}

void main()
{
    CHAR StrG[MAX_PATH] = "Test.grf";
    MyCFunc(StrG);
    return;
}
Run Code Online (Sandbox Code Playgroud)

GLibExp.h

#ifndef GLibExpH
#define GLibExpH

#if defined(GRF_DLL)
#define GEXPORT __declspec(dllexport)
#else
#define GEXPORT extern
#endif

class CGFILE;
typedef CGFILE* GFile;
//typedef void* GFile; //Also works like this

#ifdef __cplusplus
extern …
Run Code Online (Sandbox Code Playgroud)

delphi dll external lazarus lib

-4
推荐指数
1
解决办法
273
查看次数