Cecken ob Com belegt ist.
-
Und was wird ausgegeben?!
-
dies wäre doch ein weg
// irgendwas.ini [dafault] COM1 0-01081 [uwe] COM2 [frank] COM6int main(int argc, char *argv[]) { char szUsername[256]; char buffer[512]; int nSize = sizeof(szUsername); GetUserName(UserName, &nSize); if(GetPrivateProfileSection(szUsername, buffer, sizeof(buffer), "c:\\irgendwas.ini")) { // name nicht gefunden dann default werte laden GetPrivateProfileSection("default", buffer, sizeof(buffer), "c:\\irgendwas.ini") } char *pBuffer = buffer; char szPort[128]; char szDialPrefix[128]; strncpy(szPort, pBuffer, strlen(pBuffer)); pBuffer += strlen(pBuffer) + 1; strncpy(szPort, pBuffer, strlen(pBuffer)); std::cout << "Port: " << szPort << " Dial: " << szDialPrefix << std::endl; system("pause"); return 0; }ist ungetest und mit sicherheit nicht der pefekte code aber es müsste gehen :D[glossar]
-
if(GetPrivateProfileSection(szUsername, buffer, sizeof(buffer), "c:\\irgendwas.ini"))
{
// name nicht gefunden dann default werte laden
GetPrivateProfileSection("default", buffer, sizeof(buffer), "c:\\irgendwas.ini")
}hm du prüfst ob der username gefunden wird und so.
wenn ja führe default aus.
oda irre ich mich da?
-
natürlich wenn er nicht gefunden versuche ich die default settings zu laden.
-
ich habs nun so gehandhabt

und es geht(GetUserName(UserName, &lengthOfUserName)); if (GetPrivateProfileSection(UserName, device, sizeof(device), szPathToHajoDial)) { GetPrivateProfileString(UserName, "COM-Device", "COM1", device, sizeof(device), szPathToHajoDial); cout << "Username:" << UserName << endl; } else { GetPrivateProfileString ("Default Settings", "COM-Device", "COM1", device, sizeof(device), szPathToHajoDial); cout << "Default Settings" << endl; }aber nun will ich das mit der automatischen suche trotzdem machen.
-
war net ganz korrekt von mir
(GetUserName(UserName, &lengthOfUserName)); if (!GetPrivateProfileSection(UserName, device, sizeof(device), szPathToHajoDial)) { GetPrivateProfileString ("Default Settings", "COM-Device", "COM1", device, sizeof(device), szPathToHajoDial); cout << "Username:" << UserName << endl; }mA1k schrieb:
aber nun will ich das mit der automatischen suche trotzdem machen.
wie meinst du das ?
-
also
ich habe nun erstmal sowas
HKEY hKey; if (RegOpenKeyEx( HKEY_LOCAL_MACHINE, "HARDWARE\\DEVICEMAP\\SERIALCOMM", 0, KEY_ALL_ACCESS, &hKey )==ERROR_SUCCESS) { DWORD dwIndex = 0; LONG Status; do { TCHAR ValueName[255]; DWORD dwLength = sizeof(ValueName)/sizeof(TCHAR); Status = RegEnumValue( hKey, dwIndex, ValueName, &dwLength, NULL, NULL, NULL, NULL ); if (Status==ERROR_SUCCESS) { TCHAR Value[30]; DWORD dwType; DWORD dwValueLength = sizeof(Value)/sizeof(TCHAR); if (RegQueryValueEx( hKey, ValueName, NULL, &dwType, (BYTE *)Value, &dwValueLength )==ERROR_SUCCESS) { BOOL bInserted = FALSE; int iPort = atoi( Value+3 ); // cut off COM } } dwIndex++; } while (Status == ERROR_SUCCESS); RegCloseKey( hKey ); }nun weiß ich wieviele comports angeschlossen sind. bzw genauer gesagt welche.
jetzt will ich checken ob an allen comports was angeschlossen ist.
dachte dabei an CreateFile
das ganze mit ner while schleife.
der comport wo das telefon angeschlossen ist soll nun in die ini eingetragen werden mittels WritePrivateProfileString.
das eintragen is kein ding. das hatte ich schonmal gehabt.
naja denn neu auslesen und gut.