Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C#控制台应用程序自动启动缩放会议_C#_Browser_Process - Fatal编程技术网

如何从C#控制台应用程序自动启动缩放会议

如何从C#控制台应用程序自动启动缩放会议,c#,browser,process,C#,Browser,Process,我正在尝试构建一个简单的应用程序(作为控制台应用程序),在指定时间自动进入缩放会议 应用程序使用过程打开缩放会议。启动功能,然后等待“缩放会议”过程开始 如果我使用具有正确参数的Windows快捷方式文件(.lnk扩展名),它会工作得很好 但是,当我使用“常规”缩放链接(url)时,is不起作用,因为它打开浏览器并等待用户输入(显示警报) 我知道如何向进程发送输入,所以我所需要的只是对打开的浏览器窗口的引用,但我找不到它 Process.Start不会返回它,当我遍历所有进程(Process.g

我正在尝试构建一个简单的应用程序(作为控制台应用程序),在指定时间自动进入缩放会议

应用程序使用
过程打开缩放会议。启动
功能,然后等待“缩放会议”过程开始

如果我使用具有正确参数的Windows快捷方式文件(.lnk扩展名),它会工作得很好

但是,当我使用“常规”缩放链接(url)时,is不起作用,因为它打开浏览器并等待用户输入(显示警报)

我知道如何向进程发送输入,所以我所需要的只是对打开的浏览器窗口的引用,但我找不到它

Process.Start
不会返回它,当我遍历所有进程(
Process.getprocesss
)时,我找不到任何可以搜索的有用名称

那么,如何获取对浏览器进程的引用呢?或者至少在启动时发送输入


提前感谢。

=编辑===

在深入研究Windows注册表之后,我发现了一个更简单的代码来实现它:

public static void OpenZoomMeeting(string link)
{
    string zoomDirectory = Environment.ExpandEnvironmentVariables(@"%APPDATA%\Zoom\bin");
    ProcessStartInfo startInfo = new ProcessStartInfo
    {
        FileName = $@"{zoomDirectory}\Zoom.exe",
        Arguments = $"--url={link}",
        WorkingDirectory = zoomDirectory
    };
    Process.Start(startInfo);
}
==旧代码===

多亏了

他说我应该使用
WebBrowser
在没有提示的情况下打开会议,所以我研究了一下

因为我的应用程序是一个控制台应用程序,我不能只使用
WebBrowser
,所以我找到了它,它对我很有用

谢谢你的帮助

=代码===

private void RunBrowserThread(string url) {
    var th = new Thread(() => {
        var br = new WebBrowser();
        br.DocumentCompleted += Browser_DocumentCompleted;
        br.Navigate(url);
        Application.Run();
    });
    th.SetApartmentState(ApartmentState.STA);
    th.Start();
}

void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
    var br = sender as WebBrowser;
    if (br.Url == e.Url) {
        Console.WriteLine("Natigated to {0}", e.Url);
        Application.ExitThread();   // Stops the thread
    }
}

使用浏览器时,您需要使用Navigate方法()连接到URL。@jdweng感谢您的回复,我在哪里可以找到此方法?webbrowser1.Navigate(“URL”);您使用的是什么类型的项目?尝试一个表单应用程序并添加浏览器控件。@jdweng我忘了写,我正在使用控制台应用程序启动会议。WebBrowser在WinForms应用程序上工作,但在控制台应用程序上什么也没发生。