当通过Microsoft/Sysinternal的ProcessExplorer查看我的Windows任务时,我可以看到/修改进程的“注释”属性。是否可以在.Net应用程序中以某种方式从流程本身以编程方式设置此属性,或者这是特定于ProcessExplorer的东西? 最佳答案 此功能特定于ProcessExplorer;基本上它允许你用一些东西来标记一个进程,这样你就可以跟踪正在发生的事情。来自ProcessExplorer帮助文件:EnteracommentforaprocessintheCommentfield.Comment
我需要使用SYSTEM帐户运行一个进程。从Administrator开始,这是提升到SYSTEM帐户的最佳方式?它应该适用于WindowsXP及更高版本。 最佳答案 如果您需要启动或停止在系统帐户中运行的服务,则不需要在系统帐户中运行进程。相反,您需要在您的服务上设置ACL(它是您的服务,对吧?)以授予交互式用户启动或停止您的服务的权利。如果它不是您的服务,那么您真的不应该这样做。如果服务的作者决定交互式用户不应该启动或停止他们的服务,他们可能有充分的理由做出该决定。 关于windows
我想知道是否有一种方法可以HookWindows进程以检查是否有任何可疑程序在运行,例如(Wireshark、Fiddler、OllyDBG等)。我想挂接windows进程,以便它在检测到不需要的进程时关闭客户端或实时弹出消息。如果你们能为我提供任何链接,那就太好了。谢谢! 最佳答案 Process[]processlist=Process.GetProcesses();然后遍历列表并根据需要对您不想运行的应用执行操作。 关于C#HookWindows进程以检查调试进程,我们在Stack
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我有一个我尚未创建的应用程序,而且我没有源代码。但在处理和记录我在不同项目上使用的时间时,它真的很方便。但是它有一个烦人的弹出窗口,其中包含一个窗口和一些我相信的调试文本。这不是由专业人士完成的,这只是一个业余爱好项目。即使出现此窗口,一切正常。所以我想知道是否有可能“劫持”一个窗口并以某种方式最小化或关闭它?
我得到了以下场景:进程A创建进程B,然后B尝试使用OpenProcess()获取A的句柄。我希望B拥有A的PROCESS_ALL_ACCESS权限。我该如何实现?谢谢。 最佳答案 可能最简单的方法是让parent完全避免child必须调用OpenProcess。相反,让父对象检索自身的句柄(它将自动拥有所有访问权限),然后使用bInheritHandle=true调用DuplicateHandle。然后当它创建进程B时,该句柄(具有对进程A的完全访问权限)将已经在子进程中打开。进程A只需将句柄传递给进程B,进程B就可以使用它。
我有一个关于指针和内存分配的更理论化的问题。比方说我有一个正在运行的进程,它分配了从0x01到0x03的2个字节。如果我想从该内存中读取,我可能会使用ReadProcessMemory。但是我具体应该给出什么指针?它是相对指针还是绝对指针?可以说这个指针是相对的,所以我用指向0x00的指针调用ReadProcessMemory。但是Windows是如何知道进程内存从哪里开始到哪里结束的呢?Windows是否不必保存内存属于(或由其分配)进程的地址?但是Windows在哪里保存这些信息以及它如何知道它保存信息的位置?我听说过一种叫做“基本指针”的东西。我想这就是我要找的。内存属于进程的地
今天,我的应用程序在分配图像时在Windows上抛出“不再有句柄”错误。要对此进行调试,我很想获得我的应用程序已获取的所有句柄的列表。如果可能,甚至使用字体、图像或其他类型,并在我的错误报告中包含这些信息以查看我的应用程序泄漏的位置。我使用Java和SWT,但在这种情况下调用native函数或第三方应用程序来获取信息没有问题。 最佳答案 对于实用程序,请尝试Microsoft的ProcessExplorerSysinternals.这将显示进程字符串、句柄、文件、父进程、线程、线程堆栈等等。
我注意到所有_EPROCESS对象都通过ActiveProcessList链接相互链接。这个列表的目的是什么。操作系统使用这个事件进程列表做什么? 最佳答案 在WindowsNT中,可调度的单位是线程。进程充当线程的容器,也充当定义哪些虚拟内存映射处于事件状态(以及其他一些东西)的抽象。所有操作系统都需要保持此信息可用。在不同的时间,操作系统的不同组件可能需要搜索与特定特征匹配的进程,或者需要评估所有事件进程。那么,我们如何存储这些信息呢?为什么不是内存中的巨大数组?那么,这个阵列有多大?我们是否愿意将事件进程的数量限制为该数组的大
我想优雅地结束某个Windows应用程序,而不使用鼠标或键盘快捷键。我也不想简单地结束应用程序的进程。(因此,“优雅地”。)换句话说,我想调用应用程序自己的“退出程序”。我该怎么做?我不介意沉迷于代码和可疑的黑客攻击,我只是不知道从哪里开始……使用AutoHotkey模拟结束应用程序所需的按键对我来说还不够好。:P 最佳答案 Windows任务管理器为此使用EndTask函数:EndTaskFunction.此函数首先发送友好的WM_CLOSE消息。 关于windows-结束Window
我写了两个小的C++应用程序,其中一个是嵌入了一些ActiveX控件的ActiveX容器。此容器应用程序知道引用ActiveX控件的IUnknown*。另一个应用程序是一个客户端,它应该与前一个应用程序中的ActiveX控件进行交互。但是,我不知道如何在客户端应用程序中获取控件的句柄。由于独立的地址空间,简单地将IUnknown*的指针值从服务器传输到客户端在类(class)中是行不通的。是否可以通过某种方式“复制”某个COM对象的句柄,以便其他进程可以使用新创建的句柄?我想让COM为我完成RPC工作。否则,我需要在服务器应用程序中执行所有COM调用并自己执行所有RPC。:-/