草庐IT

self-invoking-function

全部标签

windows - COM 服务器 : ESP not saved across a function call when calling interface method

我正在EXE文件中实现COM服务器。准确地说,我正在向现有应用程序添加COM接口(interface)。最终目标是使应用程序自动化。第一个组件和一个接口(interface)(目前只有一个方法)基本就位。我可以在DLL中构建进程内服务器并成功获取接口(interface)指针并调用该方法。这是第一步,因为我只是在学习。我以后不需要DLL;它只是作为概念证明,我的组件和接口(interface)基本上没问题。然后我在EXE中构建了一个进程外服务器。我已经到了可以从客户端调用CoCreateInstance()的地步,然后启动EXE,注册其工厂,然后工厂创建组件的实例。CoCreateIn

linux - 在 Linux 服务器上构建 windows 7z SelF-eXtracting 安装程序,如何更改 exe 图标?

我的服务器是UbuntuServer12.04,我的客户端都是Windows。所以我想为他们构建一些Windows安装程序。最后,我发现7zSelF-eXtracting安装程序对我来说非常简单。Ubuntu有p7zip,它可以制作7z压缩文件,并且可以通过以下命令使用sfx模块制作windows7zSelF-eXtracting安装程序:cat7zSD.sfxinstaller_configinstaller.7z>installer.exe我在http://downloads.sourceforge.net/sevenzip/7z920_extra.7z下载了7zip额外包以使用其

c# - “Invoke-Sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

我想自动创建数据库。要创建三个数据库,我为每个数据库创建都有一个不同的powershell脚本。现在在这个powershell脚本上我有一层批处理文件,这个批处理文件将调用powershell脚本。说@“D:\Parent\Sub\InstallDB1.cmd”;将像其他两个一样调用@"D:\Parent\Powerscript1.ps1。现在我有单个批处理文件FinalDB.cmd.批处理文件FinalDB.cmd.将调用三个命令脚本,一个接一个将在内部调用powershell脚本。Sonowthecallsin`FinalDB.cmd`callInstallDB1.cmd//com

c++ - 使用 IDispatch::Invoke 的 OLE 交互参数构造

我正在学习MicrosoftarticleaboutOLEautomation.据我了解,AutoWrap函数用于调用外部方法、获取/设置属性。让我们尝试理解调用此函数的代码://Makeitvisible(i.e.app.visible=1){//parameterpreparationVARIANTx;x.vt=VT_I4;//typeofparameterx.lVal=1;//valueAutoWrap(DISPATCH_PROPERTYPUT,//setpropertyNULL,//weneednoresultpXlApp,//pointertoExcelappL"Visibl

asp.net - self-hosting nancy如何改成iis下

我创建了一个nancy自托管网络应用程序(使用razor)。现在我想把它移到windows服务器上IIS下的一个网站。我得到了我应该在IIS中调用它的名称。我有哪些选择?移植/移动/指向它的最简单方法是什么?如何设置网站名称?我是在IIS中还是在应用程序中这样做?(自托管Nancy在localhost下有一个url...并设置了端口号)我没有部署到IIS或部署网站的经验,所以当您回答时也请给我指向一个链接。 最佳答案 我结束了-在NancyFX聊天中讨论后,将所有内容复制到新的NancyASP.Net托管项目。我认为这将是一些简单的

c++ - 每次调用sprintf之前如何调用my_function?

sprintf是平台提供的API。我想在使用时过滤某种格式。我的想法是:#includeintmy_sprintf(...){my_filter_function(...);return::sprintf(...);}#definesprintfmy_sprintf然后将这些代码放到pch中。但我仍然担心它无法涵盖所有​​用途,有些在预建库中,并非每个项目都有pch。你还有别的想法吗?谢谢。它在Windows上。 最佳答案 您不能“覆盖”内置函数。此外,使用宏替换其名称会导致您的程序出现未定义的行为。所以,甚至不要试图改变标准库的行

windows - 混帐 : Self-made file has line-ending problems

因此,我有一个新的存储库,我正在尝试启动一个协作项目。我已经将.gitignore和.gitattributes(处理自动crlf)文件推送给它。我的.gitattributes文件是:#Setthedefaultbehavior,incasepeopledon'thavecore.autocrlfset.*text=auto#Explicitlydeclaretextfilesyouwanttoalwaysbenormalizedandconverted#tonativelineendingsoncheckout.*.ctext*.htext#Declarefilesthatwill

c++ - SDL2 undefined reference to several functions with MinGW

我有以下项目目录结构:/program1/bin/include/SDL2/lib/resources/sourcemakefile我在这里阅读了很多关于这个问题的问答。但我真的不明白这是怎么回事。我遵循了文章中的所有步骤。我使用的是Windows764位,我从i686-w64-mingw32粘贴中获得了包含文件和lib文件。如上所述,我将这些文件放在我的目录中。我在source目录中的简单ma​​in.cpp代码是:#include#include"SDL.h"intmain(intargc,char*argv[]){if(SDL_Init(SDL_INIT_VIDEO)!=0){s

java - JAR 文件如何 self 删除?

我需要一个JAR文件来删除自身。问题是Windows在运行时锁定了JAR文件,无法直接删除自身。我研究了批处理脚本可以终止JAR进程然后删除文件的解决方案,但是System.exit(0)是不需要的,因为它不能通过Batch文件运行。taskkill/F/IM"java.exe"是不需要的,因为它会杀死ALLJava进程。jps无法使用becauseitisonlyavailableintheJDK并且用户可能会运行JRE,这样会失败。我一直在寻找一种解决方案,它可以让我使用Java代码找到当前JAR的PID,然后写出Batch命令并插入终止进程的PID,例如像下面这样:printWr

windows - Windows 上的 self 更新 Exe 文件

我正在尝试创建一个脚本,当它在服务器上检测到新版本时将“self更新”。最初我的想法是,当检测到新版本时,下载文件,然后启动一个DOS批处理文件,用新版本简单地覆盖原始exe。我想,我可以使用sytem(startupdate.bat)然后立即退出0;.bat文件等待几秒钟,然后尝试删除旧的exe。这失败了,我猜是因为即使在使用system(start...)时,新的“进程”实际上是同一个进程,这是正确的吗?有什么方法可以在Windows中从perl启动一个全新的进程,这样我就可以删除.exe?或者是否有更好的不同方法?谢谢,埃里克·塞弗特 最佳答案