草庐IT

AppInit_DLL

全部标签

c# - 如何从 Windows 服务调用我的 dll?

我创建了一个c#库文件,它将转到本地路径,例如(c:\test.txt)找到文件并上传到ftp服务器。为了测试,我只是从控制台应用程序调用了dll,但我如何才能作为Windows服务运行,它会连续运行?我想运行这个dll作为服务来监控c:\文件夹,如果有任何文件像“test.txt”然后上传。提前致谢 最佳答案 当您使用它的函数时,DLL被“调用”。因此,如果您有一个DLL项目,其中包含一些类和类中的一些函数,只需addtheDLLasareference到您的服务项目并调用适当的函数。您可能想使用thislibrary用于创建Wi

c - DLL 中的函数未返回正确值

这太令人沮丧了!我不知道为什么会这样。我有一个名为weirdDLL.c的文件:doublefive(){return5.0;}我有另一个名为weirdTest.c的文件#include#includeintmain(intargc,char**argv){doublef=five();if(f!=5.0){printf("Testfailedwith%f",f);return1;}return0;}我希望,当编译并与DLL链接时,weirdTest中的代码将无错退出。我在64位Windows7上使用gcc(cygwin)和命令进行编译:gcc-cweirdDLL.cgcc-shared

c - Windows上标准c库的dll文件名是什么?

我正在使用libffi在多个平台上运行时加载dll。自动搜索正确的系统路径,我只需要知道微软平台上标准c库函数的系统dll名称是什么。 最佳答案 Windows在msvcrt.dll中附带了一个C运行时。如果您正在编写一个独立的程序并希望从C标准库中调用函数,那么也许这就是您所需要的。如果您的程序使用链接到其他C运行时的库,这对您没有好处。但在那种情况下,您不需要做任何特殊的事情,因为您的编译器/链接器将使C标准库可用。如果您想调用您加载的其中一个DLL使用的C运行时中的函数,那就有问题了。运行时可以静态链接,也可以是许多不同的动态

c++ - msvcprtd.lib(MSVCP100D.dll): fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

我创建了一个vs2010win32程序(操作系统:Win8-64bit)然后,我尝试通过这样做将这个win32程序转换为x64:ConfigurationManager->newsolutionplatform(selectx64)->copysettingsfromwin32vs2010在之前的win32程序的基础上新建了一个x64程序。但是,当我尝试编译和运行x64程序时,出现一个错误:msvcprtd.lib(MSVCP100D.dll):fatalerrorLNK1112:模块机器类型“X86”与目标机器类型“x64”冲突通过重命名msvcprtd.lib的win32版本和x6

windows - Win32 应用程序是否自动链接到 ntdll.dll?

我刚刚偶然发现执行此操作GetModuleHandle("ntdll.dll")无需事先调用LoadLibrary("ntdll.dll").这意味着ntdll.dll已经加载到我的进程中。是否可以安全地假设ntdll.dll将始终加载到Win32应用程序中,从而不需要调用LoadLibrary? 最佳答案 来自MSDNonLoadLibrary()(强调我的):Thesystemmaintainsaper-processreferencecountonallloadedmodules.CallingLoadLibraryincre

c++ - 如何模仿静态库的 "multiple instances of global variables within the application"行为但使用 DLL?

我们有一个用C/C++编写的应用程序,它被分解为一个EXE和多个DLL。这些DLL中的每一个都使用相同的静态库(utilities.lib)。实用程序静态库中的任何全局变量在应用程序运行时实际上都会有多个实例。utilities.lib链接到的每个模块(即DLL或EXE)将有一份全局变量拷贝。(这是众所周知的好事,但值得回顾一下静态库在DLL上下文中的行为方式的一些背景知识。)现在我的问题..我们想要更改utilities.lib以便它成为一个DLL。它变得非常庞大和复杂,我们希望以DLL形式而不是.lib形式分发它。问题是对于这个应用程序,我们希望保留每个应用程序DLL在实用程序库中

c++ - 何时使用 DLL_PROCESS_VERIFIER 标志调用 DllMain?

在Windows上,标准DLL入口点称为DllMain。第二个参数是DWORD,ul_reason_for_call。我已经在MSDN上查找了第二个参数的可能值。以下是显而易见的:DLL_PROCESS_ATTACH:DLL_THREAD_ATTACH:DLL_THREAD_DETACH:DLL_PROCESS_DETACH:但是关于:DLL_PROCESS_VERIFIER什么时候会用这个标志调用入口点?我应该在DLL的“正常”操作期间担心它吗?请注意,我只在VisualStudio2005而非2008的头文件中看到DLL_PROCESS_VERIFIER。

c++ - Qt - Dll相关问题

我只是在学习dll。我在Qt中尝试过。首先,我发布与dll相关的文件。第一个dll-pro文件TEMPLATE=libSOURCES+=\check.cppHEADERS+=\check.h这个是dll-头文件“check.h”#ifndefCHECK_H#defineCHECK_H#includeextern"C++"__declspec(dllexport)std::stringcheck();#endif//CHECK_H这个是dll-源文件“check.cpp”#include#include"check.h"extern"C++"__declspec(dllexport)st

windows - 通过 GetModuleHandle/LoadLibrary 和使用 FreeLibrary 加载 DLL

这是我的代码:functionGetProcedureAddress(varP:FARPROC;constModuleName,ProcName:AnsiString):Boolean;varModuleHandle:HMODULE;beginResult:=False;ModuleHandle:=GetModuleHandle(PAnsiChar(AnsiString(ModuleName)));ifModuleHandle=0thenModuleHandle:=LoadLibrary(PAnsiChar(ModuleName));//DOWENEEDTOCALLFreeLibrar

c++ - 代理 DLL 中未解析的外部符号

我正在尝试为“Version.dll”构建代理DLL,但一直遇到与导出函数相关的错误。00000000characteristics4A5BC9E3timedatestampTueJul1405:27:2320090.00version1ordinalbase15numberoffunctions15numberofnamesordinalhintRVAname1000001B14GetFileVersionInfoA2100001E40GetFileVersionInfoByHandle320000193CGetFileVersionInfoExW4300001AB4GetFileV