1

我有一个在远程设备上运行的软件,它调用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。

4

1 回答 1

1

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

BOOL result = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, NULL);
于 2011-06-13T01:16:40.587 回答