为了账号安全,请及时绑定邮箱和手机立即绑定

C# RDP 在循环后未连接

C# RDP 在循环后未连接

C#
波斯汪 2022-08-20 15:59:36
我目前正在使用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");                    }                }
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您不应该使用循环来轮询文件是否存在,这就是目的。您需要执行类似操作。FileSystemWatcher


var watcher= new FileSystemWatcher(b);

watcher.Filter = "t.txt";

watcher.Created += (sender, eventArgs) => MessageBox.Show("File Exists");

我对变量中的内容做了一些假设,但关键是,观察程序将监视目录的更改,为要查找的文件类型设置过滤器(它将接受通配符)。b


如果你想阻止程序退出,不要使用无限循环,只需使用或者这样你就不会做一个繁忙的等待。Console.ReadKeyConsole.ReadLine


Console.WriteLine("Press any key to exit.");

Console.ReadKey();


查看完整回答
反对 回复 2022-08-20
?
动漫人物

TA贡献1815条经验 获得超10个赞

我不认为 for 循环会影响连接。但是,您正在创建一个在任何情况下都不会终止的无限循环。这意味着您正在阻塞执行线程。


查看完整回答
反对 回复 2022-08-20
  • 2 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信