gpt4 book ai didi

c# - 我可以以编程方式启动 "services.msc"并将用户集中在确切的服务上吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:36 25 4
gpt4 key购买 nike

我想以编程方式启动“services.msc”并按名称选择服务。我可以显示窗口,但在这种情况下没有选择服务:

var proc = new Process();
proc.StartInfo.FileName = "services.msc";
//proc.StartInfo.Arguments = "MyServiceName";
proc.Start();

我可以指定一个参数来选择服务吗?

最佳答案

我一直遇到这个问题(然后是一些),但我不相信如果不推出自定义解决方案就无法解决这个问题(相关:how to open a service properties dialog)。

我最终使用了 AutoIt ( https://www.autoitscript.com/site/autoit/downloads/ )。我首先使用 AutoIt Window Info 来获取控件的详细信息。然后我添加了对 AutoItX3.Assembly.dll 的引用并添加了以下代码:

AutoItX.Run(string.Format("{0} \"{1}\"", fileName, args), AppDomain.CurrentDomain.BaseDirectory);
AutoItX.WinWaitActive("Services");
int result = AutoItX.ControlFocus("Services", "Services (Local)", "[CLASS:MMCOCXViewWindow; INSTANCE:1]");

if (result == 1)
{
AutoItX.ControlSend("Services", "Services (Local)", "[CLASS:SysHeader32; INSTANCE:1]", "{TAB}");
AutoItX.Send("MyService");
}

因为我不想注册 dll(以便我可以分发文件),所以我将 AutoItX3.Assembly.dll、AutoItX3.Assembly.xml、AutoItX3.dll 和 AutoItX3_64.dll 添加到我的解决方案中。

它工作得很好。在我的例子中,我还想弹出属性,所以我在之后添加了一个额外的 {ENTER}。

关于c# - 我可以以编程方式启动 "services.msc"并将用户集中在确切的服务上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31553931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com