草庐IT

【JavaEE】进程和线程

全部标签

windows - 如何防止进程启动?

我正在玩弄一种非常简单的进程监视器。目前,它获取正在运行的进程的列表并尝试终止任何未列入白名单的进程。我正在寻找一种方法来阻止不在白名单上的进程启动。如果可能的话。我在这方面的知识水平几乎不存在,我的Google-fu只返回讨论Process.Start()的网站:(谁能指出我正确的方向? 最佳答案 参见'HookingthenativeAPIandcontrollingprocesscreationonasystem-widebasis'举个例子。另见thisSOquestion 关于

c++ - 如何查找任意进程是否在 wow64 下运行?

我需要一个工具来发现任意进程是在机器上以x86还是x64模式运行。我需要根据进程ID从C++以编程方式执行此操作。必须有某种方法可以做到这一点(正如您可以从任务管理器中清楚地看到的那样)。有谁知道WindowsAPI会告诉您给定进程ID,应用程序是否在wow64下运行?另一种方法是根据进程ID找出正在运行的可执行文件名称/路径,并尝试从文件中读取PEheader。有没有人有可以实现这一目标的代码片段? 最佳答案 有一个WinAPI函数,IsWow64Process. 关于c++-如何查找

c++ - 是否有适用于 Visual Studio C++ 6.0 的线程安全队列类?

我想在VS6.0中实现线程安全队列是否有一个好的类(class)可以用于此?这是一个使用CWinApp的MFC应用程序。我的former帖子带我到here但我没有在VS2010中编写代码的奢侈,因为我停留在6.0版。好吧……谢谢。 最佳答案 显然您接受了该问题的错误答案!:-)code我在我的答案中链接将适用于VC++6。 关于c++-是否有适用于VisualStudioC++6.0的线程安全队列类?,我们在StackOverflow上找到一个类似的问题: h

c++ - 如何正确读取子进程的 stdout/stderr 输出?

我编写了一个程序a.exe,它启动了我编写的另一个程序b.exe,使用CreateProcess功能。调用者创建两个管道并将两个管道的写入端传递给CreateProcess作为stdout/stderr句柄以用于子进程。这实际上与CreatingaChildProcesswithRedirectedInputandOutput相同MSDN上的示例确实如此。因为它似乎无法使用等待进程退出的同步调用或stdout或stderr上的数据可用(WaitForMultipleObjects函数不在管道上工作),调用者有两个线程正在运行,它们都执行(阻塞)ReadFile调用stdout/stde

c# - 创建线程就像在 C# 中创建一个单独的应用程序一样

我在尝试使用WebBrowser时遇到了很多异常在多线程应用程序上。COM组件、protected内存和其他异常情况随处可见,我使用WebBrowser进行处理。我只是放弃并回到我的单线程版本,效果很好。我会发布代码,但是当我在这么多地方遇到异常时,很难定位问题的原因。因此,如果作为单线程应用程序它运行良好,并且如果当我运行同一应用程序的多个实例时它也可以正常工作,那么应该有一种方法可以模拟从单个应用程序运行的多个应用程序,而不必实际制作一个单独的应用程序我将从主应用程序运行。那么,我的问题是如何让Windows将我的线程视为不同的实例?这应该可以消除问题,因为正如我所说,当它们是不同

windows - 列出使用智能卡读卡器的进程

我正在编写一个必须处理智能卡读卡器的Windows服务。很多时候,当我尝试连接到插入的智能卡时,SCardConnect()失败并返回SCARD_E_SHARING_VIOLATION,这基本上意味着:Thesmartcardcannotbeaccessedbecauseofotheroutstandingconnections.很公平。我猜至少有一个其他进程试图同时访问Smart。但是有没有办法确定它是哪个进程? 最佳答案 在你的地方我会尝试使用ProcessExplorer如果您访问智能卡读卡器,查看您的应用程序打开的文件句柄。

windows - 读取运行进程的文件版本

我正在收集有关正在运行的进程的信息(例如CPU和RAM使用情况)。现在我想通过进程的PID或进程名称获取进程的版本号。我该怎么做? 最佳答案 版本号假设您确定了PID后面的exe及其路径(以便调用FileGetVersion())。Thisthread讨论如何做到这一点,并提出followingscript:#include$aProcListEx=_ProcessListEx()$yourExe="jqs.exe"If@errorThenMsgBox(48,"_ProcessListEx-Error",StringFormat("

c# - 我可以判断另一个进程是否正在创建文件吗?

我正在编写一个Windows服务来处理由我无法控制的另一个进程创建的文件。这些文件可能非常大(数百兆字节)。我需要处理文件,然后在创建文件后将其删除。所有文件都将写入特定目录(据我所知只是一个直接的文件副本),因此我可以定期迭代该目录中的文件,处理它们然后删除它们。我担心的是,如果我的服务在写入大文件期间查询目录会发生什么情况?该文件会出现在我的服务中吗?它会被锁定以便我无法获得读取权限吗?我是否需要执行任何特殊操作来检查文件是否已完成复制,或者我是否可以只查询File.Exists()或尝试使用FileAccess.Read打开它。Windows如何标记正在复制的文件?

Windows,阻止进程打印

Windows进程是否有任何方法可以阻止另一个进程打印?基本上,我们正在努力削减办公室的成本,我们想阻止人们打印他们的电子邮件。所以有人问我是否可以编写一个程序来阻止或取消来自Outlook的任何打印作业。可以使用任何语言或API的解决方案,只要可行。我们有WinXP和Win7用户。 最佳答案 在Windows上确实没有执行此操作的好方法。此外,这似乎不是技术问题。每月只为打印机提供一令纸。让大家知道纸张供应有限。明显的变通办法是用户自带论文,但这会大大降低运营成本,所以这不是真正的问题。

c# - 如何在 C# 中从工作线程发布 UI 消息

我正在用C#编写一个简单的winforms应用程序。我创建了一个工作线程,我希望主窗口响应完成其工作的胎面——只需更改文本字段中的一些文本,testField.Text=“Ready”。我尝试了事件和回调,但它们都在调用线程的上下文中执行,你不能从工作线程执行UI。我知道如何在C/C++中执行此操作:从工作线程调用PostMessage。我假设我可以从C#中调用WindowsAPI,但是没有更具体的.NET解决方案吗? 最佳答案 在来自已完成线程的事件回调中,使用InvokeRequired模式,正如对这篇SO帖子的各种回答所展示的