Mulți cititori au o întrebare, de ce discutăm adesea despre Windows Vista în blogul dezvoltatorului Windows 7? Este foarte simplu: vorbim despre Windows Vista. deoarece Windows 7 este construit pe baza Windows Vista și este compatibil cu modelul de software Windows Vista. Acest lucru, desigur, este un avantaj imens pentru dezvoltatori.
Nu este un secret faptul că sistemul de operare Windows este scris în C și C ++ și, ca o consecință, utilizează un model software ereditar, cunoscut sub numele de WinAPI sau Win32 API. API-ul Windows este fie un C AP pure, fie un API bazat pe COM. Acest lucru face ca API-ul să fie foarte simplu și convenabil pentru cei care programează în C sau C ++. Dar ce putem oferi dezvoltatorilor de cod gestionați? Există API-uri de cod gestionate în Windows Vista sau Windows 7?
NET Framework oferă un model software simplu și ușor de înțeles, axat pe clienții Windows (web, servere, dispozitive mobile). Și în combinație cu un set de instrumente și biblioteci, .NET Framework este un mediu eficient și productiv pentru crearea de aplicații Windows de la client. Unul dintre avantajele .NET Framework este că acest mediu se bazează pe biblioteci, astfel încât oricine poate adăuga biblioteci pentru a extinde funcționalitatea. În mod implicit .NET Framework include o mulțime de biblioteci care își extind propriul Windows API, făcând dezvoltarea aplicațiilor pentru Windows, indiferent de versiunea sa - XP, Vista sau 7 - mult mai simplă decât utilizarea API-ului Windows.
Un exemplu bun este componenta (așa-numita bibliotecă .NET) .NET WinForms, care conține un set de clase de interfață care utilizează API-ul tradițional Win32 pentru a crea și procesa ferestre în Windows. Prin abstractizarea API-ului încorporat. NET WinForms asigură că nu este nevoie să lucrăm direct cu indicatori (HWNDs), descriptori HINSTANCE sau alte construcții API Windows proprietate. În caz contrar, codul ar arăta astfel:
Da, WinForms se bazează pe HWND. Dezvoltatorii pe .NET pot accesa cu ușurință HWND utilizând proprietatea de clasă System.Windows.Interop din componenta WindowsBase (WindowsBase.dll).
Dar, în ciuda relațiilor complexe ale .NET Framework, acest runtime nu oferă API gestionate pentru toate API-urile Windows native. Prin urmare, dezvoltatorii de cod gestionat nu dispun de niciun API gestionat pentru a lucra cu API-ul UAC, API-ul Restart Manager sau noul API de căutare Windows Vista. Acestea sunt doar câteva exemple ale propriului dvs. Windows API, pentru care nu există interfețe în .NET Framework, dar care joacă un rol-cheie atunci când desfășoară unele aplicații pe Windows.
Fereastra de probă Windows Vista Bridge (VBSL) este dezvoltarea uneia dintre ideile echipei Microsoft SDK de a crea un fel de punte între .NETFramework și Windows API. VBSL este o bibliotecă de clasă care facilitează dezvoltatorilor de coduri gestionate să acceseze cele mai importante funcții ale Windows Vista fără a fi nevoiți să vă faceți griji cu privire la nivelul de interacțiune. Vista Bridge 1.3 oferă un set de clase, biblioteci și exemple scrise în .NET care permit dezvoltatorului să utilizeze funcții Vista cum ar fi UAC, Power Management, Restart Recuperare, Manager de repornire, Rețea, Aero Glass și multe altele. Trebuie remarcat faptul că bibliotecile gestionate de Vista Vista funcționează bine cu API-ul Windows 7 și vor lucra în versiuni viitoare, deoarece echipa SDK continuă să susțină acest proiect.
O zonă în care VBSL poate facilita dezvoltatorilor este o cutie de dialog. Windows Vista oferă mai multe casete de dialog pentru scopuri diferite. De exemplu, dacă utilizați Windows Vista, probabil că sunteți familiarizat cu următorul format UI:
Iată un exemplu de set tipic de referințe de comandă:
Comenzile de comandă sunt similare cu butoanele radio în sensul că ele sunt utilizate pentru a selecta dintr-un set de opțiuni reciproc exclusive, dar legate. Ca și comutatoare, referințele de comandă sunt întotdeauna reprezentate în set și niciodată una la un moment dat. Comenzile de referință au un aspect simplificat, precum și hyperlink-uri obișnuite - fără granițe și alte atribute explicite de clic. Comenzile de referință sunt, de asemenea, similare cu butoanele de comandă prin faptul că pot avea și un "link implicit", iar pentru acestea poate fi alocată o "combinație rapidă de taste". Ca și butoanele de comenzi, trimiteți comenzi când faceți clic sau închideți casetele de dialog sau traduceți la pagina următoare a experților pas cu pas.
Folosind Biblioteca de mostre Windows Vista Bridge, puteți crea o fereastră de dialog Dialoguri de activități destul de asemănătoare:
Dialogul Task Dialog este obiectul Object Library din Vista Bridge, Microsoft.SDK.Samples.VistaBridge.Library.TaskDialog și nu are proprietăți de timp. De aceea trebuie să configurați o casetă de dialog. Dar este ușor și vom arăta acest lucru în exemplul următor.
Mai întâi, creați un dialog de activități:
Apoi începeți să ajustați atributele - titlul, instrucțiunile, zona principală și pictograma principală: