大家好,我正在尝试在远程系统上启动一个exe文件,我们有一个运行代理来将我们的网站连接到我们的数据库和打印机。它偶尔会挂起,需要我们远程进入和/或去车站并重新启动应用程序。我在这里尝试了许多不同的解决方案,但似乎都没有用。我可以终止正在运行的进程,但它不会重新打开exe文件以再次启动它。这是到目前为止的小脚本################################################write-host"ThiswillRestartWorkbenchhelperpleasepresstheanykeytostart"pause$mycreds=Get-Creden
例如,我如何检测浏览器当前是否打开?我的Electron应用程序中需要这个。泰:)我在网上找不到类似的东西。我只发现如何从我自己的应用程序中的窗口中检查打开了哪个窗口,但我需要知道还打开了什么。应该是这样的:if(Application.isOpen('GoogleChrome'){} 最佳答案 除非有人构建了一个特定的Electronapi来执行此操作(我找不到),否则从Electron...不。然而,用node.js构建electron的美妙之处在于,任何节点模块都应该能够为您完成这项工作。例如,ps-list应该能够让您获得所
我正在尝试为Java应用程序创建一个启动器,它将自动更新/下载计算机用户主区域中的jar文件,然后继续执行它。我已经尝试使用Process和Runtime类来运行jar文件,但我在自己的电脑上一无所获,但似乎有1:10的人尝试了这个分布式软件(也在jar中form)似乎无法运行jar文件(作为引用,我确保所有测试此应用程序的人都安装了最新版本的Java)。负责运行jar文件的代码如下:publicstaticvoidstartApplication(){try{Processproc=Runtime.getRuntime().exec("java-jar"+(saveDirectory
我正在尝试模拟一个场景,其中一个进程与服务器的连接已关闭,而与另一台服务器的连接已启动。仅仅拉网络电缆对我来说是行不通的,因为我需要另一个过程连接来保持连接。这种工作有什么工具吗?我在Windows上。谢谢! 最佳答案 您可以在几个图层上进行模拟。最简单的是,如果您的两台服务器监听两个不同的TCP端口。在那种情况下,您可以运行两个tcp代理,并在您想要模拟故障时停止/暂停一个。对于Windows,我建议使用tcpTrace做这个。另一种选择是将两台服务器绑定(bind)到两个虚拟NIC,这两个虚拟NIC桥接到物理NIC。当然,如果您
我正在为C++应用程序foo.exe编写代码。在应用程序内部,我想记录其地址空间使用情况。所以我想查看的性能计数器是“\Process(foo)\VirtualBytes”。我遇到的问题是系统上可能运行着多个foo.exe实例。在perfmon中,我可以看到这些被引用为“\Process(foo#2)\VirtualBytes”,其中#2可以是任何数字,具体取决于进程的数量。如何构建一个计数器路径来获取当前进程的虚拟字节,以处理进程有多个实例的情况? 最佳答案 您的实例的IDProcess计数器值与您当前的进程ID匹配。不幸的是,除
好的,我正在编写一个应用程序,旨在枚举给定进程中的线程,就像ProcessExplorer所做的那样。我很清楚这可能会在不同的Windows版本之间中断,因为它依赖于“非官方”API,例如NtQuerySystemInformation,我对此非常满意。我已经有了获取给定线程基地址的代码。我现在想把它变成类似于进程资源管理器所做的事情,即“ntdll.dll!EtwDeliverDataBlock+0x453”。我实际上不需要函数名称或偏移量,只需要模块名称。我该怎么做? 最佳答案 如果您只需要模块名称,最简单的方法是使用EnumP
操作系统:Windows语言:C/C++设计要求跨进程及其子进程使用互斥变量。如果我在一个进程中创建互斥锁,我必须在另一个进程中打开互斥锁以检查关键部分的可用性。要打开互斥量,我需要知道在父进程中创建的互斥量的名称。假设,如果我将互斥量保留为我的应用程序名称。我可以知道互斥量的名称,因为它是固定的。但是,如果我并行加载我的应用程序的第二个实例,就会出现困惑。以下是更好的主意吗?我有一个想法,将父进程中的互斥量命名为进程ID。所以现在我需要从子进程/大子进程中获取父进程ID以打开互斥锁。我想没有直接的方法可以从大子进程中获取父进程ID。所以我必须在每个创建进程api中传递进程ID(在lp
这个问题在这里已经有了答案:HowcanIfreezetheexecutionofaprogram?(4个答案)关闭2年前。使用Win32API只能使用SuspendThread()暂停单个线程,但不能在一次调用中暂停一个完整的进程。遍历进程线程并一次挂起它们不是一个好的选择,因为它可能会导致死锁和意外行为。这应该是在内核中使用DDK中的一个函数(我不记得它的名字)是可能的。如何将此功能公开给用户模式?有没有其他不进入内核的方法来实现这一点?SysInternals进程浏览器有一个暂停进程的选项。它是如何做到的?
如何强制我的应用程序在64位计算机上以32位运行?代码是用C#写的。 最佳答案 右键单击您的项目,然后选择属性。在属性中,选择构建选项卡。在平台目标下,选择x86。按Ctrl+Shift+S保存所有文件,右键单击解决方案并选择“清理”以清除旧的二进制文件.之后的任何构建都应该是32位 关于c#-在64位计算机上以32位运行C#应用程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions
我必须用C#构建一个模拟器。该模拟器应该能够以可配置的CPU速度和有限的RAM大小运行第二个线程,例如144MHz和50MB。我当然知道模拟器永远无法像真实硬件那样准确。但我尝试获得几乎相似的性能。目前我正在考虑创建一个我会不时停止/休眠的线程。根据所需的CPU速度,模拟器应调整该线程的sleep时间,从而模拟不同的CPU频率。为了衡量实现的速度,我考虑使用PerformanceCounters。但是使用这种方法我遇到了一个问题,我不知道如何限制线程可以使用的RAM大小。您对如何实现这样的模拟器有任何想法吗?提前致谢! 最佳答案 使