使用 INTERNET_AUTODIAL_FORCE_UNATTENDED 的 InternetDial 仍然显示错误对话框?
我有一个在远程设备上运行的软件,它调用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我今天刚刚遇到这个问题,下面的代码解决了我的问题。使用 InternetAutodial 而不是 InternetDial
I just encountered this problem today and this code below fixed my problem. Use InternetAutodial rather than InternetDial