オンラインにするために、wininet.dll で次の関数を呼び出しています (C# pinvoke):
[DllImport("wininet.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern int InternetDial(IntPtr hWndParent, string pszEntryName,
int dwFlags, ref int lpdwConnection,
int ReservedValue);
public static bool GetOnline()
{
int connectionID = 0;
InternetDial(IntPtr.Zero, "DefaultDialUp", INTERNET_AUTODIAL_FORCE_UNATTENDED, ref connectionID, 0);
return (connectionID != 0);
}
問題は、ハードウェア障害などのダイヤルアップ プロセスでエラーが発生した場合です
。Windows は、ユーザーに処理方法を尋ねるブロック ダイアログを表示します。
ユーザーがダイアログを閉じるまで機能が停止します。
このコードを展開する必要があります。自動システムでは、これは私にとって大きな問題です...
Windows APIレベルでエラーダイアログを抑制する方法を探しています..
前もってありがとう、エイタン。