Hai,
Ik ben een tooltje voor de systray aan het schrijven om de default sound device aan te passen in Vista. (handig als je wil switchen van boxen naar USB headset bijv.). Dit is allemaal een stuk omslachtiger dan in XP, maar ik ben er na een paar uur zoeken en process sniffen grotendeels uit.
Het werkt allemaal via het setten van bepaalde registry waarden, en daar loop ik even vast.
Als ik de default sound device aanpas, worden er in de key
drie identieke hexadecimal waarde weggeschreven, onder de namen Role:0, Role:1 en Role:2
Raar genoeg lijkt die volledig random.
Als ik dus mijn USB headset default maak, veranderen die hex waarden binnen de {GUID} van mijn USB headset. Precies hetzelfde voor mijn geluidskaart.
Omdat het elke keer een andere waarde is, en geen flag (0/1, aan/uit) gok ik (en met hulp van google) dat het hier om een timestamp gaat. Windows zet gewoon een verse timestamp bij die audio device, en degene met de nieuwste timestamp is de default device.
Zover ben ik nu
Alleen moet ik dus zelf zo'n hex stamp kunnen genereren.
D7 07 09 00 02 00 19 00 0B 00 33 00 36 00 95 01
Dit is zo'n timestamp. 07 zou het jaar kunnen zijn, en 09 de maand. De dag (25) kan ik zo snel niet terug vinden. Of het zou 02 moeten zijn (dinsdag).
Ik kan redelijk uit de voeten in VB.net maar dit is voor mij redelijke abacadabra. Ik zou niet goed weten hoe ik zelf zo'n timestamp moet genereren.
Als iemand mij op de goede weg zou kunnen helpen, of tips kunnen geven ben ik erg blij
Dit zijn een paar timestamps een paar seconden na elkaar genomen (rond 13:56 op 25-09-2007)
D7 07 09 00 02 00 19 00 0B 00 36 00 39 00 ED 02
D7 07 09 00 02 00 19 00 0B 00 37 00 2E 00 1A 00
D7 07 09 00 02 00 19 00 0B 00 37 00 38 00 7A 03
Ik ben een tooltje voor de systray aan het schrijven om de default sound device aan te passen in Vista. (handig als je wil switchen van boxen naar USB headset bijv.). Dit is allemaal een stuk omslachtiger dan in XP, maar ik ben er na een paar uur zoeken en process sniffen grotendeels uit.
Het werkt allemaal via het setten van bepaalde registry waarden, en daar loop ik even vast.
Als ik de default sound device aanpas, worden er in de key
code:
({GUID} is dus van het betreffende audio device)1
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{GUID} |
drie identieke hexadecimal waarde weggeschreven, onder de namen Role:0, Role:1 en Role:2
Raar genoeg lijkt die volledig random.
Als ik dus mijn USB headset default maak, veranderen die hex waarden binnen de {GUID} van mijn USB headset. Precies hetzelfde voor mijn geluidskaart.
Omdat het elke keer een andere waarde is, en geen flag (0/1, aan/uit) gok ik (en met hulp van google) dat het hier om een timestamp gaat. Windows zet gewoon een verse timestamp bij die audio device, en degene met de nieuwste timestamp is de default device.
Zover ben ik nu
D7 07 09 00 02 00 19 00 0B 00 33 00 36 00 95 01
Dit is zo'n timestamp. 07 zou het jaar kunnen zijn, en 09 de maand. De dag (25) kan ik zo snel niet terug vinden. Of het zou 02 moeten zijn (dinsdag).
Ik kan redelijk uit de voeten in VB.net maar dit is voor mij redelijke abacadabra. Ik zou niet goed weten hoe ik zelf zo'n timestamp moet genereren.
Als iemand mij op de goede weg zou kunnen helpen, of tips kunnen geven ben ik erg blij
Dit zijn een paar timestamps een paar seconden na elkaar genomen (rond 13:56 op 25-09-2007)
D7 07 09 00 02 00 19 00 0B 00 36 00 39 00 ED 02
D7 07 09 00 02 00 19 00 0B 00 37 00 2E 00 1A 00
D7 07 09 00 02 00 19 00 0B 00 37 00 38 00 7A 03