草庐IT

系统编程

全部标签

windows - 如何远程连接到网络中的另一台windows机器并从该机器获取操作系统信息? (Telnet 除外)

我被指派编写一个Perl脚本,其中我必须连接到网络上的另一台Windows机器,然后获取该机器的操作系统名称和版本。我使用Perl的NET::Telnet成功实现了这一点模块。但由于默认情况下Telnet未安装在Windows上,因此它将成为运行我的脚本的先决条件,而我的TL不希望这样。任何人都可以建议我一些方法来使用Windows默认安装的一部分(如rpc)来执行此操作。如果建议的方法也适用于unix、MAC或HP机器,那就太好了。 最佳答案 在Windows系统上远程获取配置信息通常是通过查询WMIdata(WindowsMan

windows - 同一系统上的 64 位和 32 位非托管 dll - 最佳实践?

我有一个内置于32位和64位的共享dll。两个版本都使用相同的名称foo.dll。如何在系统上同时安装foo.dll,以便我的32位和64位应用程序在其路径中找到正确的dll。Windows本身使用SysWOW64(用于32位dll)和System32(用于64位dll)。我想避免部署到这些文件夹。让两个位的dll在同一个盒子上共存并被链接到它们的适当应用程序找到的公认方式(如果有的话)是什么? 最佳答案 如果您不部署到受文件重定向影响的文件夹(即system32),那么您几乎需要为DLL指定不同的名称。这样做的原因是DLL搜索路径

windows - 以编程方式扩展/自定义 Windows 登录提示

Windows(XP,Vista,7)登录框是否可扩展?是否有类似于Windows外壳扩展的“登录框”?作为一个虚构的例子,我有一个Windows主机,我的团队使用一个共享帐户。我希望我的团队成员能够通过验证码登录到主机桌面。我想修改登录框来执行此操作(而不是说,进行自动登录然后显示全屏验证码程序) 最佳答案 要自定义登录窗口,您必须创建一个CredentialProvider在Vista/7中,和一个GINAdll在XP中。 关于windows-以编程方式扩展/自定义Windows登录

c++ - 将 GetVersionEx 数字转换为操作系统名称

我有这个列表:2.5.1.26002.5.2.37902.6.0.60002.6.0.60012.6.0.60022.6.1.76002.6.1.7601这是一个窗口版本列表,信息来自GetVersionEx,数字是:dwPlatformId.dwMajorVersion.dwMinorVersion.dwBuildNumber我想知道这些数字的Windows版本名称,例如:“WinXPSP2”我试过谷歌搜索,但我发现了不同的信息,在某些地方,一个数字是XPSP2,而在其他地方,相同的是SP3。我可以将5.0识别为Win2000,将5.1识别为XP,等等。但我还想要SP版本,如果它是P

windows - 如何以编程方式调用 "Log on as a service Properties"窗口?

如何以编程方式调用“作为服务登录属性”窗口?我可以使用命令行和mmc执行此操作吗? 最佳答案 根据评论中的要求,我有一些非常简单的代码可以设置已注册服务的用户名和密码。当然,这需要在服务安装时完成,也就是当您拥有提升的权限时。代码恰好在Delphi中,但将其移植到另一种语言应该是微不足道的。函数调用都是WindowsAPI调用,文档可以在MSDN中找到。SvcMgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);ifSvcMgr=0thenbeginRaiseLastOSError;//

.net - 7 个 64 位操作系统上带有 32 位 oracle 客户端驱动程序的 System.data.OracleClient

我有一个从asp.net1.1(VS2003)迁移到Asp.net2(VS2008)的Web应用程序。我在新版本上执行Oracleconnexion时遇到问题。开发环境是64位七。当使用所有CPU生成应用程序时,我在System.Data.OracleClient上遇到问题,异常System.BadImageFormatException:Tentativedechargementd'unprogramdeformatincorrect.(HRESULT异常:0x8007000B)。.我在x86CPU上生成,但在启动时出现此错误:[BadImageFormatException:Imp

Windows 和系统内存

Windows上任何单个进程可以寻址的最大内存量是多少?这与系统的最大虚拟内存不同吗?这将如何影响系统设计? 最佳答案 在32位版本的Windows上,单个进程一次可以映射和寻址不超过3GB的虚拟内存。在64位版本的Windows中,32位进程一次可以映射和寻址不超过4GB的虚拟内存。对于64位进程,该数量很难计算,因为有许多重叠的限制可能适用,具体取决于各种因素。它通常约为7TB。系统的最大虚拟内存量很难计算,也不是一个非常有意义的数字。此外,物理内存的限制与虚拟内存的这些限制无关。您可以在Microsoft页面上阅读更多详细信息

windows - 在 Windows 上的 Perl 中获取当前系统本地编码

我需要根据系统本地设置获取当前编码。我正在寻找以这种方式工作的功能:my$sysEncoding=getSystemEncoding();#andnow$sysEncodingequalse.g.'windows-1250'我在网上到处找。我只找到了模块PerlIO::locale。但我认为系统编码应该在没有额外模块的情况下更容易被识别。 最佳答案 Encode::Locale提供了处理此问题的方法。 关于windows-在Windows上的Perl中获取当前系统本地编码,我们在Stac

windows - 如何以编程方式解锁窗口

我想利用我的旧镜像(由violet开发),当您在rfid标签阅读器上放置和取下rfid标签时,它允许触发事件。使用LibMirror我可以使用C#编写事件,这非常方便。我的想法是在我拿取rfid标签并将其放在镜子上时锁定和解锁我的工作站。由于2,锁定电台非常容易,然而解锁似乎更困难。几个帖子3,4在SO上表明这很困难,但我想得到一个明确的答案。我必须明确表示,我对任何安全方面的考虑不感兴趣,这更多是为了这样做。编辑:来自violet的mirware曾经允许这样做,这就是为什么我相信这是可能的。任何线索将不胜感激。 最佳答案 不,这是

windows - Ant脚本在linux系统上运行sql脚本

我的数据库在linux系统上。我有需要在该数据库上运行的sql脚本。我需要编写一个应该从Windows系统运行并运行sql脚本的ant脚本。我应该怎么做? 最佳答案 您将使用标签。参见thedocumentation.那里有一些很好的例子,例如:insertintotablesome_tablevalues(1,2,3,4);truncatetablesome_other_table;您需要在类路径中包含JDBC驱动程序。我会把它明确地放在中子元素。(也有一个例子)。编辑:对于Oracle,JDBC驱动程序类似于ojdbc.jar.