Compilierung der Taskbar-Zugriffe auf Windows 7 unter Windows Vista
-
Hallo liebe Community,
ich versuche, mein Programm zu der Taskbar von Windows 7 kompatibel zu machen. Entwickeln bzw. compilieren geschieht unter Windows Vista, da das Programm auch weiterhin dazu kompatibel sein soll.
Dabei habe ich mich an diesem Artikel gehalten ( http://msdn.microsoft.com/en-us/magazine/dd942846.aspx )
Um nun die App-ID zu setzen, verwende ich folgendes:PROPVARIANT appID; IPropertyStore* propertiesStore; ... VERIFY(propertiesStore->SetValue(PKEY_AppUserModel_ID, appID));Leider kennt Windows Vista die Variable "PKEY_AppUserModel_ID" vom Typ PROPERTYKEY nicht.
Ich habe auch die Windows-7-SDK installiert und die "propkey.h" includiert, allerdings bekam dort nur einen Linker-Error:
error LNK2001: Nicht aufgelöstes externes Symbol "_PKEY_AppUserModel_ID".Auch ein Versuch mit
#ifndef PKEY_AppUserModel_ID DEFINE_PROPERTYKEY(PKEY_AppUserModel_ID, 0x9F4C2855, 0x9F79, 0x4B39, 0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3, 5); #endifführte zur gleichen Fehlermeldung.
Gibt es irgendwie eine Möglichkeit, diese Property unter Windows Vista irgendwie zu definieren bzw. es übersetzbar zu machen?
Vielen Dank.
Gruß,
Tobias
-
Ich kenn die Funktion ja nicht, aber als genereller Tip. Wenn diese Funktion erst ab Windows 7 verfügbar ist und dein Programm soll aber abwärts kompatibel sein, dann machst du einfach zur Laufzeit des Programms einen Betriebssystem Versionscheck. Wenn die Version kleiner Windows 7 ist, programmierst du eben irgendeine Lösung dafür, wenn du Windows 7 vorfindest dann holst du dir die Funktion per LoadLibrary(...) und per GetProcAddress(..);
-
Hallo,
vielen Dank für den Tipp. Ja, ich habe es so ähnlich gemacht. Es gibt allerdings noch eine einfachere Variante, die ich bei MSDN sonst in keinem Tutorial gefunden habe ( http://msdn.microsoft.com/en-us/library/dd378422(VS.85).aspx ). Mit dieser Funktion kann man über "LoadLibrary" etc. das einfach setzen, wenn Windows 7 vorhanden ist.
Gruß,
Tobias