C# gui中的拨号错误
我正在使用Rasdial.exe创建一个新的拨号连接,它在控制台模式下显示错误。有没有办法让错误出现在GUI上? windows如何将错误代码显示为用户界面 更新:C# gui中的拨号错误,c#,.net,windows,winapi,ras,C#,.net,Windows,Winapi,Ras,我正在使用Rasdial.exe创建一个新的拨号连接,它在控制台模式下显示错误。有没有办法让错误出现在GUI上? windows如何将错误代码显示为用户界面 更新: 我使用了“Rasphone.exe”,它达到了我的预期效果。i、 它在用户界面而不是命令提示符中显示错误消息。但是,这是使用“RASPhone.exe”而不是“RASDial.exe”的正确方法吗?如果您真的想在拨号连接时控制用户界面的情况,我建议您查看CodePlex上的DotRas SDK using DotRas; RasH
我使用了“Rasphone.exe”,它达到了我的预期效果。i、 它在用户界面而不是命令提示符中显示错误消息。但是,这是使用“RASPhone.exe”而不是“RASDial.exe”的正确方法吗?如果您真的想在拨号连接时控制用户界面的情况,我建议您查看CodePlex上的DotRas SDK
using DotRas;
RasHandle handle = null;
using (RasDialer dialer = new RasDialer())
{
dialer.StateChanged += (sender, e) =>
{
// Update your user interface.
};
dialer.EntryName = "Your Entry Here";
dialer.PhoneBookPath = @"C:\YourPhoneBook.pbk";
dialer.Credentials = new NetworkCredential("Some", "User");
handle = dialer.DialAsync();
}
这将使您能够在连接状态发生更改时以任何方式更新用户界面,而无需将对控制台应用程序所做的更新路由到您的用户界面
这里有一个链接:如果你真的想在拨号连接时控制用户界面发生了什么,我建议你看看CodePlex上的DotRas SDK
using DotRas;
RasHandle handle = null;
using (RasDialer dialer = new RasDialer())
{
dialer.StateChanged += (sender, e) =>
{
// Update your user interface.
};
dialer.EntryName = "Your Entry Here";
dialer.PhoneBookPath = @"C:\YourPhoneBook.pbk";
dialer.Credentials = new NetworkCredential("Some", "User");
handle = dialer.DialAsync();
}
这将使您能够在连接状态发生更改时以任何方式更新用户界面,而无需将对控制台应用程序所做的更新路由到您的用户界面
这里有一个链接:为了确保,您是否在询问如何生成子进程、捕获其标准输出并将其回显到GUI?可能是通过使用丰富的底层API;你可以通过使用DotRas使你的生活更轻松:@AresAvatar是的,你是rit!如果我能得到手动连接时得到的实际错误消息,那就更好了。@user1317084:有关如何执行此操作的详细信息,请参阅。为了确保这一点,您是否询问如何生成子进程、捕获其标准输出并将其回显到GUI?可能是通过使用丰富的底层API;你可以通过使用DotRas使你的生活更轻松:@AresAvatar是的,你是rit!如果我手动连接时收到实际的错误消息,那就更好了。@user1317084:有关如何执行此操作的详细信息,请参阅。
在本例中,dialsync()
调用后,使用是否会立即阻止Dispose()
RasDialer
?除非RasDialer
的实现非常奇怪,否则它应该保持一个disposed状态,永远不会调用StateChanged
事件。在本例中,使用是否会在dialsync()
调用之后立即阻止RasDialer
?除非RasDialer
实现得非常奇怪,否则它应该处于一种已处置状态,永远不会调用StateChanged
事件。