C# RDP 在循环后未连接

我目前正在使用Microsoft Terminal Services Client,它的工作原理令人惊叹,并做了我想要它做的事情。但是我遇到了一个小问题,事实证明很难解决。我正在尝试连接到rdp,然后不断扫描文件是否存在。但是当我做for循环(在它调用rdp连接之后)时,它不会连接。这是我的代码:


                axMsTscAxNotSafeForScripting1.Server = "0.0.0.0";

                axMsTscAxNotSafeForScripting1.UserName = "Test";

                IMsTscNonScriptable secured = (IMsTscNonScriptable)axMsTscAxNotSafeForScripting1.GetOcx();

                secured.ClearTextPassword = "c";

                axMsTscAxNotSafeForScripting1.Connect();

                Thread.Sleep(2000);

                for(; ; )

                {

                    if (File.Exists(b + "t.txt"))

                    {

                        MessageBox.Show("File Exists");

                    }

                }


波斯汪
浏览 199回答 2
2回答

catspeake

您不应该使用循环来轮询文件是否存在,这就是目的。您需要执行类似操作。FileSystemWatchervar watcher= new FileSystemWatcher(b);watcher.Filter = "t.txt";watcher.Created += (sender, eventArgs) => MessageBox.Show("File Exists");我对变量中的内容做了一些假设,但关键是,观察程序将监视目录的更改,为要查找的文件类型设置过滤器(它将接受通配符)。b如果你想阻止程序退出,不要使用无限循环,只需使用或者这样你就不会做一个繁忙的等待。Console.ReadKeyConsole.ReadLineConsole.WriteLine("Press any key to exit.");Console.ReadKey();

动漫人物

我不认为 for 循环会影响连接。但是,您正在创建一个在任何情况下都不会终止的无限循环。这意味着您正在阻塞执行线程。
打开App,查看更多内容
随时随地看视频慕课网APP