使用 INTERNET_AUTODIAL_FORCE_UNATTENDED 的 InternetDial 仍然显示错误对话框?

发布于 2024-09-07 03:36:24 字数 900 浏览 1 评论 0原文

我有一个在远程设备上运行的软件,它调用 InternetDial 建立连接并报告信息。

大多数情况下,这工作正常,但偶尔会发生某种错误(信号不良等),尽管使用 INTERNET_AUTODIAL_FORCE_UNATTENDED 调用该函数,但在连接失败时,窗口仍然会弹出对话框。

但令人烦恼的是,这些对话框是模态的,因此代码就会锁定。

我已经尝试了网络配置上的选项的几乎所有组合以及调用 InternetDial 例程的方法,但它们都无法阻止该对话框的出现:

m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, NULL, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, NULL, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL);

是否有解决此问题的方法或我可以采用的其他方法连接?我正在 Vista 和 XP Embedded 上进行开发,如果这有什么区别的话。

I have a piece of software running on a remote device which calls InternetDial to establish a connection and report information.

Most of the time this works fine, but occasionally, some sort of error will occurr (bad signal etc.) and despite calling the function with INTERNET_AUTODIAL_FORCE_UNATTENDED, windows still appears to pop up dialogs when it fails to connect.

Rather annoyingly though, these dialogs are modal so the code just locks up.

I've tried just about every combination of options on the network configuration and ways to call the InternetDial routine, but none of them stop that dialog from appearing:

m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, NULL, INTERNET_AUTODIAL_FORCE_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, NULL, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL);
m_DResult = InternetDial(NULL, m_staticModemProfile, INTERNET_DIAL_UNATTENDED, (LPDWORD) &m_cnx, NULL);

Is there a way round this or another way I can connect? I'm developing on Vista and XP Embedded if that makes a difference.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此刻的回忆 2024-09-14 03:36:25

我今天刚刚遇到这个问题,下面的代码解决了我的问题。使用 InternetAutodial 而不是 InternetDial

BOOL result = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, NULL);

I just encountered this problem today and this code below fixed my problem. Use InternetAutodial rather than InternetDial

BOOL result = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, NULL);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文