草庐IT

java - 如何确定 32BIT Java 的位置

有些时候JRE安装在特定版本的目录[1]中。所以我尝试编写一个DOS批处理或VBS脚本来确定最新安装的JRE832位的位置。但是在检查注册表项时“HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft”我注意到这仅包含有关64位Java运行时的信息。那么知道如何通过DOS或vbs确定最新安装的32位Java运行时的位置吗?这还应该考虑到可能会在系统上并行安装64位版本。另一种方法是在目录C:\ProgramFiles(x86)\Java中搜索文件。但JavaRuntime可能未安装在此目录中。[1]http://www.oracle.com/technetwork/j

Python 更改 Windows 路径(刷新 Shell)

我这里有一个Python脚本,它是从WindowsCMD调用的。它正在执行一些命令并更改Windows环境变量。现在我用命令“setx”改变了它们。我必须重新启动另一个Shell,以便将新变量加载到其中。我调用脚本的主shell是否可以更新变量本身?或者是否可以使用新变量启动另一个shell,脚本将在新打开的shell中继续?谢谢 最佳答案 每个进程都有自己的环境。当一个进程启动另一个进程时,新进程会获得其父环境的(最终修改的)副本。规则是:一个进程可以修改它自己的环境——这个修改将被以后启动的子进程继承进程可以(在启动时)修改其子

windows - Delphi:创建和读取文本文件导致 I/O 32 错误。应该使用 sleep 来防止这种情况吗?

我目前正在开发一个需要能够报告Windows是否已激活的程序。functionTSoftwareReport.getLicenceInfo:String;varActivated:String;LicenceFile:TextFile;begin//redirectcommandoutputtotxtfileShellExecute(0,nil,'cmd.exe','/Ccscript%windir%\system32\slmgr.vbs/xpr>C:\Activated.txt',nil,SW_HIDE);//ReadthefileSleep(1000);AssignFile(Lic

windows - win32_physicalMemory.Capacity 在 powershell 中返回 null

这是一个非常奇怪的问题,只发生在我测试过的一台计算机上。我有以下代码行:(get-WmiObjectwin32_physicalMemory-Impersonation3-ComputerName"localhost").Capacity由于某种原因返回null。但是,在同一台计算机上,如果我运行命令:get-WmiObjectwin32_physicalMemory-Impersonation3-ComputerName"localhost"我得到了两根ram的信息,每根的容量都是8589934592(8GB)。计算机运行的是Powershell版本2,在其他计算机(Powershe

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

类似的问题,但特定于打包结构:WhywouldthesizeofapackedstructurebedifferentonLinuxandWindowswhenusinggcc?我正在为Linux和Windows构建一个共享库,它需要通过网络连接处理结构良好的数据。我在Linux上使用gcc4.8.2,并使用i686-pc-mingw32-gcc4.8.1为Windows目标交叉编译。我制作了这个小程序来演示这个问题(请注意GCC属性已被注释掉,保留它们以供引用):#include#include#includetypedefuint16_tword_t;typedefenum//__

windows - RunDLL32 URLDownloadToFile

我正在尝试在Windows命令行中执行单行文件下载,而不依赖于WGET等外部工具,甚至不编写PowerShell或VBScripts脚本。我试着跑c:\>RunDLL32.exeURLMon.dll,URLDownloadToFIle0,"http://www.example.com/file.pdf""c:\\MyName\\Downloads\\",0没用。我做错了什么?或者这甚至会起作用吗? 最佳答案 函数URLDownloadToFile具有以下签名:HRESULTURLDownloadToFile(LPUNKNOWNpCa

windows - Shell 说找到 : missing argument to `-exec' and no alternatives working

由于我更改了一些设置,我最近使用的一个备份程序在我的计算机上复制了一大堆文件。备份程序制作副本时,将旧的重命名为original1.thefilename.extension。我正在尝试使用一个简单的shell命令自动删除所有这些不必要的文件。find-typef-name'original1*'-execrm{}\;但是,当我尝试运行它时,我得到了find:missingargumentto`-exec'我在网上到处寻找解决方案。我发现我应该尝试execrm+,-execrm{}+,-execrm{}\;,-execrm+等,但它们都不起作用。我正在使用Windows8.1如果有任何

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

windows - 如何在 Teamcity Windows 代理上运行 shell 脚本?

我们以前使用Jenkins作为我们的CI工具,我可以在Jenkinswindowsslave中运行shell脚本,步骤是:1.installcygwinonWindowsslave2.addstepinJenkinsasshellscript3.add"exportPATH=/cygdrive/c/dev/tools/cygwin/bin:$PATH"asthefirstline然后我可以在Jenkins中执行任何shell脚本。现在我们需要转移到teamcity,我发现上述步骤不适用于teamcity。当我运行“命令行”并将第一行设置为“exportPATH=/cygdrive/c/

windows - 处理软件正在使用的文件时如何避免 I/O 错误 32

我有一个带有一些软件的科学仪器,还有一些不足之处……但它是专有的,我无法改变软件的工作方式。所以我试着玩得开心。这是我的设置:该软件创建一个文本文件来存储数据。对于每一个新的观察(每10秒),它将最新的观察附加到文本文件中。我想将该文件保存到共享网络驱动器,这样我就可以在我的另一台计算机上即时访问该文件的最新版本。但是,如果在软件尝试写入文件时笔记本电脑失去与网络驱动器的连接,即使是一小段时间,软件也会崩溃,之后的所有观察结果都会丢失到网络空间中。我收到I/O错误103。所以这是我编写的一个小批处理文件,首先将数据保存在本地硬盘上,然后定期进行复制:set/pname=Filename