因此,我进行了一些谷歌搜索,无法确定以下是否可行。我正在编写一个软件,它使用第三方程序提供的接口(interface)机制获取数据。启动时我的程序会尝试连接到第三方程序,如果失败则我的程序不会启动。然后它轮询第三方程序(和后台线程)以确定是否有任何数据已更改。当我的程序运行时第三方应用程序关闭时,我的问题就来了。由于各种原因,我不能简单地关闭我的软件,而是显示一条消息,告诉用户他们需要重新启动第三方程序才能继续使用我程序的部分功能。但是我确实暂停了投票。当第三方程序再次启动时,我需要重新连接并继续轮询,但是我不知道如何确定第三方应用程序何时重新启动。是否可以监听程序启动?[按名字而不是
我有一个应用程序打开另一个非系统32位进程,并尝试使用EnumProcessModulesEx获取其加载模块的列表,并使用GetModuleFileNameEx获取每个模块的路径.它在我的开发环境(Windows10)中运行良好,并且适用于许多测试过该应用程序的用户。但是,对于某些用户(两个用户,Windows8.1和Windows10),OpenProcess()函数失败并显示访问被拒绝(错误代码5)。我正在使用PROCESS_QUERY_INFORMATION|打开进程PROCESS_VM_READ。使用PROCESS_QUERY_LIMITED_INFORMATION打开进程可以
我正在尝试提供一项服务,每1000毫秒(1秒)终止任何名为Skype的进程。我100%确定我已经正确编码,一切正常,记录等。但终止进程不是。privateSystem.Timers.Timer_timer;protectedoverridevoidOnStart(string[]args){try{_timer=newSystem.Timers.Timer(100);_timer.Elapsed+=_timer_Elapsed;_timer.Enabled=true;if(!EventLog.SourceExists("MYTESTSERVICE"))EventLog.CreateEv
我正在使用一种软件,它会自动大量启动名为“browser.exe”的进程。我想自动终止所有“browser.exe”进程。目前我已经使用下面的代码创建了一个快捷方式来在点击时终止“browser.exe”进程,但我们必须手动完成。taskkill.exe/F/IMbrowser.exe/T有什么方法或代码可以让“browser.exe”进程一启动就被自动杀死吗? 最佳答案 一个简单的VB(或其他)脚本应该可以解决问题。例如:setservice=GetObject("winmgmts:")DimoShell:SetoShell=Cr
我需要通过代码重新启动我的应用程序,我选择使用批处理文件。当应用程序启动时,它会像这样创建一个批处理:taskkill/f/imAudioService.exeTIMEOUT10start"AudioService""AudioService.exe"然后我从代码中调用它(使用PocoLibrary):Poco::Process::Argsargs;Poco::Process::launch(RESTART_SCRIPT_NAME,args);现在,除了网络连接未关闭之外,它可以正常工作,并且当应用程序重新启动时,Bind()函数会失败。相反,如果我从资源管理器中“手动”运行批处理文件
检查特定Python脚本是否已在Windows中运行的最好/最简单的原因是什么?我有一个脚本可以遍历文件夹中的所有文件并将它们复制到另一个文件夹(排序到电影或电视节目文件夹)。我想确保脚本启动时没有另一个进程(同一脚本的)已经在运行,所以我不会遇到试图移动相同文件的2个脚本的问题。我曾尝试在脚本开头创建一个文件并在脚本完成时将其删除,但是当脚本崩溃和/或抛出错误时我遇到了问题。我知道我可以使用psutil,但随后我将获得进程名称(python.exe),并且我正在寻找一个原因来区分Python进程是在运行我的脚本还是其他程序。 最佳答案
如何使用JNA4.5.0获取Java中所有正在运行的进程的列表?我已经尝试过这段代码:WinNTwinNT=(WinNT)Native.loadLibrary(WinNT.class,W32APIOptions.UNICODE_OPTIONS);winNT.HANDLEsnapshot=winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS,newWinDef.DWORD(0));Thelp32.PROCESSENTRY32.ByReferenceprocessEntry=newTlhelp32.PROCESSENTRY32
我已经在我的C#应用程序中针对按钮单击事件启动了一个进程,如下所示,System.Diagnostics.Processprocess=newSystem.Diagnostics.Process();privatevoidbtnOpenPort_Click(objectsender,RoutedEventArgse){System.Diagnostics.ProcessStartInfostartInfo=newSystem.Diagnostics.ProcessStartInfo();startInfo.WindowStyle=System.Diagnostics.ProcessWi
我正在尝试检查文件是否已被另一个应用程序锁定。我想我可以通过以写入模式打开文件轻松地做到这一点。fs.open('myfile.docx','r+',(err)=>{if(!err){console.log('Fileunlocked')}})但是,我不想锁定文件,因为其他应用程序随时可能写入数据。那么,有没有什么方法可以在不锁定文件的情况下检查文件是否被锁定(并且没有使用node.js或windowscmd的管理权限)? 最佳答案 您可以使用Handle来自Sysinternals的实用程序。它的工作原理是遍历所有Windows进
我正在寻找一种方法来限制WindowsServer2003中运行进程的最大数量。是否有控制它的某个注册表项?如果有,是哪一个? 最佳答案 如果你在谈论任务管理器中列出的项目中的进程,那么就没有办法在本地完成,你可以用程序来完成,但应该没有真正有效的这样做的理由。如果您正在谈论让您的应用程序无论调用多少次都只启动一个EXE,那么您正在寻找单例。.NET示例位于:http://www.thescarms.com/dotnet/SingleInstance.aspx--EDIT对于另一种语言,谷歌搜索“singleton”和你的语言。如果