我可以通过以下方式确定正在运行的任务:$TaskService=new-object-ComObject('Schedule.Service')$TaskService.connect()$TaskFolder=$TaskService.GetFolder('\')$TaskFolder.gettasks(1)|?{$_.state-eq4}如果这些任务启动与其他现有进程相同的程序(即进程名称),是否有任何方法可以识别这些任务的进程ID?我的目标是一个从计划任务启动的PowerShell脚本,该脚本可以识别它在哪个计划任务下运行。我可以使用$PID轻松确定PoShprocessID,但
我有一个用C#编写的Windows服务在一台机器上运行,它创建并使用许多文件。有没有办法防止机器上的用户(包括管理员)从代码中弄乱这些文件(移动、编辑、重命名、删除)?我知道StreamWriter可以实现这一点,但是我不想让文件一直打开而不需要实际访问其中的数据,但我似乎做不到寻找任何其他方式。编辑:让我在下面的评论中重新表述问题基础。有没有办法以只有我的服务可以访问文件的方式设置ACL?如果只有服务可以访问文件,我也会接受(我在MicrosoftDocs中看到了所有服务安全组的提及,但我似乎无法在系统或.net中实际找到它)。 最佳答案
我正在尝试将代码中的线程切换为多处理以衡量其性能,并希望实现更好的暴力破解潜力,因为我的程序旨在暴力破解受密码保护的.zip文件。但是每当我尝试运行该程序时,我都会得到:BruteZIP2.py-z"GenericZIP.zip"-fWorm.txtTraceback(mostrecentcalllast):File"C:\Users\User\Documents\Jetbrains\PyCharm\BruteZIP\BruteZIP2.py",line40,inmain(args.zip,args.file)File"C:\Users\User\Documents\Jetbrains
我正在寻找一种方法来检测具有相同进程名称的正在运行的进程数。例如,我运行了3次记事本。记事本.exe记事本记事本所以它会返回3。我目前有这些代码来检测正在运行的进程,但不计算其正在运行的进程数量。#include#include#include#includeboolIsProcessRunning(constchar*ProcessName);intmain(){char*notepadRunning=(IsProcessRunning("notepad.exe"))?"Yes":"No";std::cout任何形式的帮助将不胜感激:)谢谢。 最佳答案
如何监控Windows进程并在其未运行时将其启动?我想要一些作为Windows服务启动并可以处理多个进程的东西。编辑:希望有一个随时可用的库/组件我可以使用,只需调整或配置即可,而不必从头开始实现。我知道在*nix世界中有两个流行的软件包:god和monit。 最佳答案 您可以创建一个只监视当前进程列表的Windows服务。EnumProcesses提供查看当前正在运行的进程的方法。有许多API可用于启动新进程,包括:系统()_exec()WinExec()ShellExecute()/ShellExecuteEx()创建进程()C
我可以在Windows上使用共享内存,以便拥有一个可供多个独立进程使用的公共(public)内存区域吗?上下文:将unix应用程序移植到Windows,它具有:-创建多个共享内存区域的“设置”过程。-一组其他进程(在设置过程已经完成时运行)读取(偶尔写入)已准备好的内存区域设置过程我已经尝试过CreateFileMapping(INVALID_HANDLE_VALUE,...)/OpenFileMapping但共享内存似乎在创建进程退出后立即被释放。我应该创建真实的(即在文件系统上的)文件并打开这些文件而不是使用INVALID_HANDLE_VALUE吗?
我有一个在IIS6或7上运行的ISAPI过滤器。当有多个工作进程(“Web花园”)时,过滤器将在每个w3wp.exe中加载并运行。我怎样才能有效地允许过滤器将其事件记录在一个统一的日志文件中?来自不同(并发)进程的日志消息不得相互干扰。换句话说,从任何w3wp.exe发出的单个日志消息必须实现为日志文件中的单个连续行。日志文件的争用应该最少。这些网站每秒可以处理100个请求。优先考虑严格的时间顺序。换句话说,如果w3wp.exe进程#1在t1发出一条消息,然后进程#2在t2发出一条消息,然后进程#1在t3发出一条消息,则消息应以正确的时间顺序出现在日志文件中。我目前的做法是每个进程拥有
我正在使用在Windows上使用COM的virtualboxapi。如果您有64位操作系统,它将安装64位版本,并且64位客户端可以访问COM接口(interface),但32位客户端无法访问。有人告诉我这是COM限制,但我看到了ways使用dll32在注册表上“发布”32位接口(interface),因此64位进程可以调用这些COM服务器,但我找不到相反的方法,从32位进程访问64位接口(interface)。如果我不是很清楚,我相信这个人想要实现类似的目标:http://www.codeproject.com/Forums/1648/COM.aspx?fid=1648&df=90&
我想在.bat文件中启动我的一个应用程序,但它是可见的并且占用了我任务栏中的空间。我如何启动应用程序而不让它可见? 最佳答案 这是我多年前编写的用于执行此操作的实用程序:#include#pragmacomment(lib,"user32.lib")intWINAPIWinMain(HINSTANCE,HINSTANCE,LPSTR,int){constchar*p=GetCommandLine();if(*p=='"'){p++;while(*p&&*p!='"'){p++;}p++;}else{while(*p&&*p!='')
这个问题在这里已经有了答案:HowtoimplementasingleinstanceJavaapplication?(17个答案)关闭2年前。我目前正在为我的Java应用程序使用一个临时文件夹来创建一个锁,以便一次只能运行一个实例。程序退出时必须删除此锁定文件。这很好,除了进程被终止的情况(不允许正常关闭,例如从Windows任务管理器)。如果发生这种情况,用户将永远无法再次运行该程序...eek有人有什么建议吗?有没有办法让操作系统在重启时删除文件夹或类似的东西?我是否应该找到另一种方法来获得“单实例锁”?此外,如果可能,解决方案应该是跨平台的...