小编Xik*_*yoX的帖子

过程退出的问题

假设我有一个ID为1234的进程.此进程在我的应用程序运行之前运行.

我有这个代码:

        Process app = Process.GetProcessById(1234);
        MessageBox.Show(app.MainWindowTitle);
        app.Exited += this.methodShowsMessageBox;
Run Code Online (Sandbox Code Playgroud)

现在,当我编译并运行应用程序时,它会获取进程并显示主窗口标题.然而,当我关闭进程1234时,app.Exited确实无法触发......为什么会这样?我怎么才能解雇它?

c# process exit-code exit

8
推荐指数
1
解决办法
3929
查看次数

Winform App - 网页互动

Windows窗体应用程序 - 操作输入元素 WinForm WebBrowser

虽然我熟悉HttpWebResponse/ HttpWebRequest登录网站,但我现在正在尝试使用mshtml库并发现一些奇怪的行为,我想看看是否有其他人可以帮助我在这里..

我有一个HTML登录页面,其中包含一个带有Username字段,Password字段和a 的java后端Button.

逻辑是非常基本的,我有一个内置的webbrowser构建了一个winform应用程序.在Document_Completed活动中,我使用以下代码输入我的设置并单击按钮.

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (webBrowser.Url.ToString() == @"MyWebPage/signin")            
    {
        HTMLDocument hdc = new HTMLDocumentClass();
        hdc = (HTMLDocument)webBrowser.Document.DomDocument;

        IHTMLElement elb = hdc.getElementById("login_button");
        IHTMLInputElement elu = (IHTMLInputElement)hdc.getElementById("username");
        IHTMLInputElement elp = (IHTMLInputElement)hdc.getElementById("password");

        try
        {
            elu.value = "MyID";
            elp.value = "MyPwd";
            elb.click();
        }
        catch { }
    }
}
Run Code Online (Sandbox Code Playgroud)

除了这个代码非常快,没有错误处理,它应该做的伎俩,它确实,部分..

有两种情况:

  • 我启动该工具,它加载网页.

    • 该工具正确填充UserID字段和密码字段
    • 该工具无法单击该按钮
  • 我手动点击按钮,我登录,点击退出,我回到登录页面

    • 我立即再次登录,该工具输入信息
    • 该工具立即点击按钮.

是否有人能够解释我为什么会发生这种情况以及如何通过当前设置(因此不使用HttpWebRequest)来解决这个问题.我没有看到在启动时加载页面或在注销后重定向之间的区别,但显然存在差异或我做错了什么.

对此事的任何反馈都非常感谢. …

html c# mshtml winforms

6
推荐指数
1
解决办法
2066
查看次数

标签 统计

c# ×2

exit ×1

exit-code ×1

html ×1

mshtml ×1

process ×1

winforms ×1