草庐IT

php与dll通信?

全部标签

c++ - 在同一个 DLL 中使用 _COM_SMARTPTR CreateInstance 而无需注册

我目前正在尝试编写一个DLL,它使用在系统中注册的Typelib(.tlb)。此Typelib要求我使用自己的类实现两个接口(interface),并在运行对象表中注册其中一个,这是我在使用VisualStudio2015的ATL项目中完成的。使用我的DLL的应用程序应该完全不了解COM,一切都应该在幕后工作并隐藏在我正在实现的DLL中。在我的DLL中,有时我试图获取类MyClass的实例,它实现了上面提到的类型库的COM接口(interface)。代码如下所示:IInterfaceClassPtrdataPtr;hr=dataPtr.CreateInstance(CLSID_MyCl

php - curl 窗口 : the provided file handle is not writable

我在执行curl请求时随机“无错误地挂起”。我正在尝试检测来源,因为Web服务器和php日志没有显示任何错误,所以我尝试启用CURLOT_STDERR。我有以下代码:$file='curl.txt';$curl=curl_init();$curl_log=fopen($file,'rw');var_export(is_writable($file));$url='http://www.google.com';curl_setopt_array($curl,array(CURLOPT_URL=>$url,CURLOPT_VERBOSE=>1,CURLOPT_STDERR=>$curl_l

php - 无法在 Windows 中解压缩大型 Linux 压缩存档

服务器环境:LinuxRHEL5x86_64、Apache、PHP客户端环境:Windows1064位(VirtualBoxMacOS主机)、4GBRam、30GB可用空间、IE11浏览器(也通过Edge/Firefox测试)、7zip场景如下:我通过浏览器将一个zip(存档中有一个2.5GB的文件)上传到我的PHP网络服务器,当zip到达服务器端时SHA2校验和匹配我在服务器上解压缩zip,根据里面的文件生成一个XML文件,然后将XML文件添加回原始zip。例如:$xml->addFromString("hello.xml",$xmldata);然后我关闭zip并让用户下载zip文件

php - require_once 无法在 Windows 10 上加载现有文件(适用于 Linux)

我们的自动加载器有一个神秘的问题:functionpsr4_default_autoload($class){//project-specificnamespaceprefix$prefix='basefolder\\';//basedirectoryforthenamespaceprefix$base_dir=SOURCE_DIR.'/';//doestheclassusethenamespaceprefix?$len=strlen($prefix);if(strncmp($prefix,$class,$len)!==0){//no,movetothenextregisteredau

windows - 动态加载 Windows dll 时,如何知道缺少的相关模块的名称

我有时会遇到无法在客户站点加载动态库的问题。这通常是因为他们的系统配置错误。我需要能够获取丢失的依赖模块的名称,以便我可以记录它,并使修复他们的系统变得更加容易。我怎样才能做到这一点?请注意,我需要一个可以放入我的代码中的答案,这意味着我不能使用依赖性检查器、进程监视器或任何其他工具来解决问题。我确实需要一种以编程方式进行的方法。DependencyChecker可以做到这一点意味着有办法。 最佳答案 从win7开始ntdll.dll导出下一个api:structFAILUREDATA{NTSTATUSstatus;WCHARDll

windows - 使用 Inno Setup 安装程序安装 Windows shell 扩展 DLL

我正在开发一个shell扩展DLL。我想使用InnoSetup安装程序安装它。我看到安装程序问,如果我想用程序安装shell扩展,我想使用InnoSetup安装程序进行类似的操作。我该怎么做呢?如果没有,你能指引我走上正确的道路吗?几天来我一直在搜索有关此的任何信息。 最佳答案 shell扩展只是一个带有COM类的DLL。所以只需部署它并使用regserverflag注册它:[Files]Source:"myext.dll";DestDir:"{app}";Flags:regserver另见RegisterExplorerCOMex

php - 使用 PHP 读取 Windows 事件日志

有什么方法可以用PHP读取Windows事件日志吗?具体来说,我想用相应的用户名读取Windows用户的登录和注销事件。我在wamp服务器上使用PHP。 最佳答案 我找不到直接读取Windows事件日志的方法。但就我而言,我想要登录和注销信息。所以我用另一种方式来管理它。写了两个.bat文件如下。登录.bat;其中包括以下代码。echoLogin%Date%%TIME%%USERNAME%>>{Directorypathtologfolder}\%Date%.txt注销.bat;其中包括以下代码。echoLogOff%Date%%T

c++ - 以编程方式获取用于在非开发人员 Windows 环境中构建进程或库的 DLL 列表

我什至不确定这是否适用于Windows;我还没有看到一个人要求这么普遍的东西并找到解决方案。这可能是可能的,但可能没有用于处理它的API。我有一个自动化测试模块,我正在为Windows工作,它使用一个模块以通用方式处理检测到的EXE,除非它检测到二进制文件来自特定的测试框架。到目前为止,我只能通过查询帮助和处理响应/字符串解析来做到这一点。如果我触发某人在框架之外编写的长时间测试,该测试接受命令行参数寻求帮助,但实际上并不处理这些命令行参数而只是自动运行,这可能会导致问题。因此,有时我会卡在等待测试完成的时候,而不是进行闪电般的快速查询。这就是我试图通过这个花哨的新模块避免的。:)这个

php - 无法在 Windows 上安装 symfony

您好,我正在尝试在Windows上安装symfony。我已按照所有要求的步骤进行操作,但最终出现以下消息。[RuntimeException]Symfonycan'tbeinstalledbecausethedownloadedpackageiscorrupted.Tosolvethisissue,tryexecutingthiscommandagain:Symfonynewdemo3.2.8当我尝试上面的命令时,它说:'symfony'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.我已经

php - 通过提示输入 php 中的第一个数字来顺序编号文件

php、命令行、windows。我需要对目录中的每个.txt文件按顺序编号。当我键入脚本时,有什么方法可以在命令行的序列中指定要使用的第一个数字?(而不是每次都手动编辑脚本本身)。或者(甚至更好)被提示输入第一个数字两次(用于确认)?例如,在命令行中(“285603”只是一个示例数字):c:\a\b\currentworkingdir>phpc:\scripts\number.php285603或者(甚至更好)c:\a\b\currentworkingdir>phpc:\scripts\number.phpc:\a\b\currentworkingdir>Enterfirstnumbe