Tag: taskmanager

在C#中从任务管理器检测结束进程

我在C#中有一个应用程序,并希望监视其当前状态,即它是运行还是关闭。 到目前为止,我能够跟踪应用程序在运行时错误期间退出的状态,或者应用程序退出代码中的任何其他状态。 但是当任务管理器强制关闭时,我无法记录应用程序状态。 有没有办法监控End Process事件? 或者我是否必须设计一个单独的服务来监视我的应用程序(我觉得这会浪费资源)? 简史:该应用程序是一个WCF订阅者应用程序,旨在作为后台进程运行并从服务器接收数据。 我不想使用Windows服务,因为我正在设计一个GUI,允许客户端向服务器发送请求以获取特定数据。 该应用程序链接到另一个应用程序,该应用程序跟踪订户是否在线或离线。 因此,正在寻找一种方法来跟踪突然的应用程序关闭并相应地通知用户。

在任务管理器中更改进程名称

我有一个在服务器上运行的Windows窗体应用程序。 现在我需要同时运行同一个应用程序的多个实例。 每个实例都将连接到不同的数据库。 在应用程序启动期间,我更改标题,以便我可以识别连接到哪个数据库,但我也想在任务管理器中更改名称。 这是因为我有另一个应用程序充当主管,根据需要杀死并启动该过程。 我必须找到一种方法来清楚地确定要杀死的过程。

性能计数器读取访问速度非常慢 – 任务管理器如何执行此操作?

我试图实现一个性能监视工具,我想监视内存和CPU等基本内容。 我试图通过使用性能计数器这样做,因为我相信这也是任务管理器在幕后使用的。 我不知道任务管理器是如何做到这一点的,但对我而言,使用此方法检索过程数据似乎需要花费很长时间: class Program { static void Main(string[] args) { while (true) { var pcs = Process.GetProcesses() .Select(p => new PerformanceCounter(“Process”, “Working Set – Private”, p.ProcessName)); var sw = Stopwatch.StartNew(); foreach (var pc in pcs) pc.NextValue(); Console.WriteLine($”Time taken to read {pcs.Count()} performance counters: {sw.ElapsedMilliseconds}ms”); Thread.Sleep(1000); } } } 有没有人有任何关于如何做到这一点或任务管理器或Process Explorer如何做到这一点的建议?

在WinForms应用程序中第二次未检测到任务管理器关闭

private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { if (MessageBox.Show(this, “Do you really want to close?”, “Close?”, MessageBoxButtons.YesNo) == DialogResult.No) { e.Cancel = true; } } } 因此,当我想关闭应用程序时,单击关闭按钮会显示消息框,然后我选择否。 然后执行e.Cancel = true行并且不关闭表单。 现在问题是,在此之后如果我从任务管理器关闭应用程序,关闭原因是UserClosing !!! 为什么? 不应该是TaskManagerClosing吗?

C#Windows窗体被任务管理器杀死…有没有办法运行关机function?

我怀疑这甚至是可能的。 所以你的应用程序正在运行,用户决定通过任务管理器结束进程。 在process.kill期间是否有方法/操作来保存数据? 我怀疑有,但我不得不问。 此外,如果用户关闭/重新启动PC(如在Windows更新/手动重启中),应用程序将执行什么操作? Window_Unloaded? 在第二个问题上,我想找到一种方法来确保我的应用程序不会显示为“如果您想重新启动,杀死此应用程序”的情况并希望保存所需的数据。 你的两分钱非常感谢!

Winform应用程序名称在Windows 10的“任务管理器”的“启动”选项卡上显示为_alphanumeric

在Windows 10上,我的表单应用程序在任务管理器的“ 启动”选项卡上显示为字母数字字符(_1F036AE84FF792FB79A74F)。 它是一个MSI安装文件。 以下是运行exe的路径: C:\Users\win10user\AppData\Roaming\Microsoft\Installer\{ProductCode-Of-App} 如何显示表单应用程序而不是此字母数字值? 编辑:我正在使用Microsoft Visual Studio 2015安装程序项目来创建MSI文件 编辑二: Windows 7(msconfig.exe): Windows 10(任务管理器): 这里我放置了我的应用程序名称在Windows 7和Windows 10上的显示方式的屏幕截图。

如何为我的程序设置任务管理器说明?

我有一个CLI程序,我想修改Windows任务管理器中显示的说明。 我尝试在程序集信息中设置描述 ,但这只会更改.exe的属性>详细信息 。

如何防止应用程序在任务管理器中被杀?

我正在研究一个家长控制应用程序(用WPF编写),并且想禁止任何人(包括管理员)杀死我的进程。 前一阵子,我在网上找到了以下代码,它几乎完美无缺,但有时它不起作用。 static void SetAcl() { var sd = new RawSecurityDescriptor(ControlFlags.None, new SecurityIdentifier(WellKnownSidType.LocalSystemSid, null), null, null, new RawAcl(2, 0)); sd.SetFlags(ControlFlags.DiscretionaryAclPresent | ControlFlags.DiscretionaryAclDefaulted); var rawSd = new byte[sd.BinaryLength]; sd.GetBinaryForm(rawSd, 0); if (!Win32.SetKernelObjectSecurity(Process.GetCurrentProcess().Handle, SecurityInfos.DiscretionaryAcl, rawSd)) throw new Win32Exception(); } 在Win7中,如果应用程序由登录用户启动,即使管理员也无法终止该进程(访问被拒绝)。 但是,如果您切换到另一个用户帐户(管理员或标准用户),然后选中“显示所有用户的进程”,则可以毫无问题地终止该进程。 任何人都可以给我一个暗示为什么以及如何解决它? 编辑: 我知道有些人对这个问题感到不安,但这是我的两难选择。 这是我主要为自己使用而写的父母控制。 主要特点是我想要监控和限制孩子们的游戏(不仅仅是关闭所有游戏)。 我可以为孩子分配一个标准的用户帐户,他们无法杀死这个过程。 但是,有些游戏(例如Mabinogi)要求管理员权限可以玩。 所以,我每次都要输入我的管理员密码,这很烦人。 顺便说一句,我不确定它是否符合Stackoverflow的政策,如果你想查看它,请点击我的应用程序: https : //sites.google.com/site/goppieinc/pc-screen-watcher 。 编辑: 这篇文章的主要观点是询问是否有人可以给我一个提示,为什么发布的代码并不总是有效 – […]

如何使用C#配置组策略?

如何在C#中操作控制面板和任务管理器的基于组策略的限制?

是否可以在TaskManager应用程序选项卡中隐藏winform?

我正在编写一个透明的WinForms应用程序,我想隐藏应用程序在任务管理器的应用程序选项卡中显示。 我很好,它将在进程中显示(实际上它应该)。 如果我设置: this.ShowInTaskbar = false; 它只隐藏在任务栏中。 完整的代码,我有一个由标签制成的计时器 public Form1() { InitializeComponent(); this.BackColor = Color.LimeGreen; this.TransparencyKey = Color.LimeGreen; Timer time = new Timer(); time.Interval = 1000; time.Tick += new EventHandler(time_Tick); time.Start(); this.ShowInTaskbar = false; } void time_Tick(object sender, EventArgs e) { label1_hour.Text = DateTime.Now.Hour.ToString() ; label_minute.Text = DateTime.Now.Minute.ToString(); label_second.Text = DateTime.Now.Second.ToString(); }