Benutzer mit den meisten Antworten
RasDialDlg und Windows 7 klappt nicht (mit Windows XP geht's aber)

Frage
-
Hallo,
ich habe eine automatische Internet-Einwahl in meinem Programm mit RasDialDlg. Phonebook und Entry sind ok. Die zugehörige rasphone.pbk ist richtig konfiguriert und kann ich normal starten und mich dann verbinden.
RasDialDlg funktioniert mit Windows XP, nicht aber unter Windows 7. Die rasphone.pbk wird nicht gestartet. Woran liegt das?
Code:
// const char szPhonebook[]="C:\\Program Files(x86)\\MypProg\\rasphone.pbk";
// const char szEntry[]="T-Mobile UMTS/GPRS";RASDIALDLG RD;
RD.dwSize=sizeof(RASDIALDLG);
RD.hwndOwner=NULL;
RD.dwFlags=0;
RD.dwSubEntry=0;
RD.reserved=0;
RD.reserved2=0;BOOL nRet=RasDialDlg((LPTSTR)szPhonebook, (LPTSTR)szModemEntry, NULL, &RD);
if ( FALSE == nRet)
{
DWORD dwErr = RD.dwError;
CString strbuf;
LPVOID lpMsgBuf;
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dwErr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
// Handle the error.
gbModemIstOnline = false;
return false;
}
MyAfxMessageBox((LPCTSTR)lpMsgBuf, MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
gbModemIstOnline = false;
return false;
}
gbModemIstOnline = true;
return true;Danke für Hilfe,
Guido
Antworten
-
Und was für ein Fehler passiert!
Was sagt GetLastError?
BTW: Ich halte es für übel, einen const String nach non-const zu casten, wenn RasDialDlg explizit beschreibare char arrays erwartet!
Sollte Windows 7 also genau das machen und vorher aber testet, ob der Bereich schreibbar ist, dann schlägt Deine Funktion fehl.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert der Guido Freitag, 21. Oktober 2011 13:44
Alle Antworten
-
Und was für ein Fehler passiert!
Was sagt GetLastError?
BTW: Ich halte es für übel, einen const String nach non-const zu casten, wenn RasDialDlg explizit beschreibare char arrays erwartet!
Sollte Windows 7 also genau das machen und vorher aber testet, ob der Bereich schreibbar ist, dann schlägt Deine Funktion fehl.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert der Guido Freitag, 21. Oktober 2011 13:44