草庐IT

ssh-programming-with-paramiko-com

全部标签

windows - 在 E :\drive with Batch 中启动可执行文件

我在使用批处理文件启动.exe文件时遇到问题。该程序名为“ck.exe”,作为PC游戏“MystIIIExile”的DVD-RW的一部分存在于E:\驱动器中MystIIICoverArtifyouwanttosee我想这样做是因为游戏没有很好的内置方式来从桌面运行程序该文件夹如下所示:Computer>DVDRWDrive(E:)ExileDVD>...ck.exe...这是我的代码:@echooffREMabatchfilethatstartsExileortellsyouifthediscisinIFEXISTE:GOTOStartPAUSE>nul:StartCD\ECHOfou

.net - 识别 .NET 应用程序中的 COM 组件

我继承了一个.NET应用程序,它汇集了大约100个由两个团队构建或从供应商处购买的dll。我想快速确定给定的dll是.NET程序集还是COM组件。我意识到我可以只对每个dll单独调用ildasm并在dll没有有效的CLRheader时做一个记录,但这种方法看起来很笨拙并且难以自动化。 最佳答案 如果您想从COM端着手,在DLL中测试COM对象归结为寻找名为“DllGetClassObject”的导出。这是因为COM运行时通过调用DllGetClassObject()访问进程内COM对象。在那个DLL上。您可以使用DUMPBIN.EX

windows - COM 对象是否负责将自己的模块保存在内存中?

假设您执行以下操作:1)使用LoadLibrary加载foo.dll。2)使用GetProcAddress获取指向函数的指针。3)调用该函数,为您提供对该模块中实现的COM对象的引用。4)通过调用FreeLibrary释放foo.dll。5)在COM对象上调用方法。您是否希望第5步成功但AV没有成功?也就是说,COM对象本身是否负责(再次)调用LoadLibrary以增加Windows为每个模块保留的引用计数,以确保它不会超过模块? 最佳答案 当然不是。模块引用计数由正常的使用方法维护-你正在做的是进入运行时方案的后门。通常,您使用

windows - 跨平台 COM 开发

众所周知,COM是独立于语言和平台的标准,但我一直只看到有关在Windows上开发COM组件的文章。您能否分享您对如何开发真正的跨平台应用程序的看法。 最佳答案 我在Mac和Unix上使用COM编写代码,没有支持库。你实际上只需要C++。它基本上是一个协议(protocol)。不过,如果你真的想用跨平台的COM来写,我建议你看看https://developer.mozilla.org/en/XPCOM 关于windows-跨平台COM开发,我们在StackOverflow上找到一个类似

.net - 无法使用 Windows 7 或 Windows Server 2008 64 位从 COM+ 目录导出 32 位 ServicedComponent

使用Windows2003Server或2000,生成一个COM+应用程序代理以在另一个系统上使用,包括在导出过程中创建的MSI包中的.NETEnterpriseServices组件。.NET组件也在GAC中注册,并且regsvcs在安装应用程序代理期间自动运行。但是,我们发现WindowsServer2008不包含该程序集。它将包括.tlb但不包括.dll,也不将其安装在GAC中,当然,当应用程序找不到程序集时一切都会崩溃。有人知道如何确保该行为像2000-2003年那样有效吗?更新我们可以仅使用.NET程序集生成代理,它工作正常,但如果我们尝试将其他程序集或遗留VB6COM+dll

c++ - DllMain 在注册 COM dll 时卡住

我尝试注册一个名为MixCenter.dll的COMdll。我已经找到了它所依赖的所有dll。当执行官第一次使用它的DllMain时,它会卡住并且永远不会返回。这似乎是一个死锁,但我没有调用任何LoadLibrary,它也永远不会执行到DllMain。这种情况还有其他原因吗?这就是DllMain的样子:BOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){switch(ul_reason_for_call){caseDLL_PROCESS_ATTACH:g_hinstDLL=hModule

Windows 8 : Unable to allocate 2GB with 3GB User Address Space

我正在尝试创建用于测试的Windows832位程序。测试包括大量分配,我遇到了麻烦。操作系统是用/3GB启动的,机器有8GB和一个页面文件,程序是用/LARGEADDRESSAWARE链接的,所以我不应该受到内存限制。(由于某些类型的定义方式-例如,size_t),使用32位程序进行测试对我来说很重要。问题是我无法从new或VirtualAlloc分配2GB(0x80000000)内存。new抛出bad_alloc并且VirtualAlloc返回NULL和ERROR_NOT_ENOUGH_MEMORY。在以前的Windows版本中,3GB地址空间意味着应用程序被赋予0x00000000

windows - 在 Delphi 中使用 COM 支持在 DLL 和 .EXE 之间切换

我有以下情况:我有一个delphi应用程序{$APPTYPEGUI}。(APP1)如果APP1启动,它会运行代码begin和end.,就像它应该的那样。稍后,APP1将被转换为DLL(另一个应用程序将执行此操作-APP2)。APP2添加IMAGE_FILE_DLL标志到NTFileHeader中的CharacteristicsAPP1。然后APP2尝试使用LoadLibrary加载DLL(APP1)(或加载dll的其他一些COM命令)但它返回错误:WindowsencounteredaninternalerrorwhileinitializingCOMlibraries.我已经用C项目

Java-netbeans : Cannot run program "${platforms. default_platform.home}\bin\java

我在Windows7上通过netbeans从CVS工作,一周前,我能够编译和运行我的JavaWeb应用程序。但是,从cvs更新后会弹出此错误。java.io.IOException:Cannotrunprogram"${platforms.default_platform.home}\bin\java"(indirectory"E:\ws2\project"):CreateProcesserror=2,系统找不到文件指定我确定我在系统环境变量中指向了java/bin。我是否缺少设置?谢谢 最佳答案 我最近更新Netbeans后遇到了

Windows SSH 要求输入密码

我在Windows机器上使用Puttygen生成了一个公钥/私钥SSHkey对(没有密码),并将公钥复制到我的Linux服务器上。当我在Putty中使用私钥时,一切都按预期工作。但是,当我尝试从Windows命令行使用ssh时,系统提示我输入密码。由于没有,我无法登录。ssh-Tmyserver.comEnterpassphraseforkey'C:\Users\myusername\.ssh\private.ppk':Permissiondenied(publickey,gssapi-with-mic,password).为什么系统提示我输入一个没有密码的key?