Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az objektumra való jobb kattintás általában megjeleníti a helyi menüt. Ez a menü felsorolja azokat a parancsokat, amelyeket a felhasználó kiválaszthat az objektum különböző műveleteinek végrehajtásához. Ez a rész a fájlrendszer-objektumok helyi menüinek bevezetése.
- Fájlrendszer-objektumok gyorsmenüi
- Helyi menü parancsai
- Fájltípus helyi menüjének kibővítése
- Az előre definiált Shell objektumok helyi menüjének kiterjesztése
- Alkalmazás regisztrálása tetszőleges fájltípusok kezelésére
- Új almenü kiterjesztése
További információ itt érhető el:
Fájlrendszer-objektumok helyi menüi
Ha egy felhasználó a jobb gombbal egy objektumra( például egy fájlra) kattint, amely a Windows Intézőben vagy az asztalon jelenik meg, megjelenik egy helyi menü a parancsok listájával. A felhasználó ezután végrehajthat egy műveletet a fájlon, például megnyithatja vagy törölheti azt a megfelelő parancs kiválasztásával.
Mivel a helyi menüket gyakran használják a fájlkezeléshez, a Shell parancsok olyan alapértelmezett parancsokat biztosítanak, például a Kivágás és a Másolás parancsokat, amelyek bármely fájl helyi menüjében megjelennek. Vegye figyelembe, hogy bár az Open With egy alapértelmezett parancs, bizonyos szabványos fájltípusoknál, például .wav nem jelenik meg. Az alábbi ábra az "A Saját dokumentumok" mintakönyvtárból, amelyet az Ikonok testreszabásapéldaként is használt, bemutat egy alapértelmezett helyi menüt, amely a MyDocs4.xyz-re jobb egérgombbal kattintva jelenik meg.
MyDocs4.xyz azért jelenít meg egy alapértelmezett helyi menüt, mert nem tagja egy regisztrált fájltípusnak. Másrészt a .txt egy regisztrált fájltípus. Ha a jobb gombbal az egyik .txt fájlra kattint, ehelyett megjelenik egy helyi menü, amelynek felső szakaszában két további parancs található: megnyitása és Nyomtatás.
A fájltípus regisztrálása után további parancsokkal bővítheti a gyorsmenüt. Ezek az alapértelmezett parancsok felett jelennek meg, ha a jobb gombbal kattint egy ilyen típusú fájlra. Bár az ilyen módon hozzáadott parancsok többsége gyakori, például Nyomtatási vagy Megnyitás, a felhasználó által esetleg hasznosnak talált parancsokat is hozzáadhatja.
A fájltípus helyi menüjének kibővítéséhez mindössze egy beállításjegyzék-bejegyzést kell létrehoznia minden parancshoz. Kifinomultabb módszer egy helyi menükezelőimplementálása, amellyel fájlonként bővítheti a helyi menüt egy fájltípushoz. További információ: Helyi menükezelők létrehozása.
Helyi menü cselekvések
A helyi menü minden parancsát a beállításjegyzék azonosít az verb-ja alapján. Ezek az igék ugyanazok, mint amelyeket a ShellExecuteEx használ az alkalmazások programozott indításakor. A ShellExecuteEx használatáról további információt az Alkalmazások indításacímű témakörben talál.
A verb egy egyszerű szöveges karakterlánc, amelyet a Shell használ a társított parancs azonosítására. Mindegyik verb megfelel a parancs konzolablakban vagy kötegfájlban (.bat) való elindításához használt parancssztringnek . A megnyitásverb például általában elindít egy programot egy fájl megnyitásához. A parancssztring általában a következőképpen néz ki:
"My Program.exe" "%1"
A "%1" a fájlnévvel ellátott parancssori paraméter szabványos helyőrzője. Megadhat például egy adott lapot, amelyet lapozott nézetben szeretne megjeleníteni.
Jegyzet
Ha a parancssztring bármely eleme szóközöket tartalmaz vagy tartalmazhat, idézőjelek közé kell foglalni. Ellenkező esetben, ha az elem szóközt tartalmaz, az nem fog megfelelően feldolgozódni. A "Saját Program.exe" például megfelelően indítja el az alkalmazást. Ha a "Saját Program.exe"-t használja, a rendszer megpróbálja elindítani a "My" programot, első parancssori argumentumként a "Program.exe"-et használva. Mindig használjon idézőjeleket olyan argumentumokkal, mint a "%1", amelyeket a Shell függvény karakterláncokká alakít, mert nem lehet biztos abban, hogy a karakterlánc nem tartalmaz szóközt.
Az igékhez egy megjelenítési karakterlánc is társítható, amely a helyi menüben jelenik meg a verb karakterlánc helyett. Az openas megjelenítési sztringje például a Megnyitás gombra mutat. A normál menüsztringekhez hasonlóan a megjelenítési sztringben lévő ampersand (&) is lehetővé teszi a parancs billentyűzetkijelölését.
Kanoniális Igék
Az alkalmazások általában az általuk definiált igék honosított megjelenítési sztringjeinek biztosításáért felelősek. A nyelv függetlenségének biztosítása érdekében azonban a rendszer a gyakran használt, nevű igék szabványos készletét határozza meg. A canonical bármilyen nyelven használható, és a rendszer automatikusan létrehoz egy megfelelően honosított megjelenítési verb sztringet. A megnyitásverb megjelenítési sztringje például Open (Megnyitás) értékre lesz állítva egy angol rendszeren, egy német rendszeren pedig Öffnen értékre.
A kanonikus igék a következők:
| Érték | Leírás |
|---|---|
| nyitott | Megnyitja a fájlt vagy mappát. |
| nyiss új ablakot | Megnyitja a fájlt vagy mappát egy új ablakban. |
| nyomtat | Kinyomtatja a fájlt. |
| felfedez | Megnyitja a Windows Intézőt a kijelölt mappával. |
| talál | Megnyitja a Windows Search párbeszédpanelt, ahol a mappa alapértelmezett keresési helyként van beállítva. |
| openas | Megnyitja a Megnyitás párbeszédpanelt. |
| tulajdonságok | Megnyitja az objektum tulajdonságlapját. |
A verb nyomtatás is kanonikus, de soha nem jelenik meg. Lehetővé teszi, hogy a felhasználó nyomtatóobjektumra húzva nyomtassa ki a fájlt.
Bővített igék
Amikor a felhasználó a jobb gombbal egy objektumra kattint, a helyi menü tartalmazza az összes normál igét. Lehetnek azonban olyan parancsok, amelyeket támogatni szeretne, de nem jelennek meg minden helyi menüben. Lehetnek például olyan parancsok, amelyeket nem gyakran használnak, vagy amelyeket tapasztalt felhasználók számára szánnak. Ezért megadhat egy vagy több kiterjesztett igét is. Ezek az igék karaktersztringek is, és hasonlóak a normál igékhez. A normál igéktől a regisztrálásuk alapján különböztetik meg őket. Ha hozzá szeretne férni a kiterjesztett igékhez társított parancsokhoz, a felhasználónak a SHIFT billentyű lenyomása közben a jobb gombbal egy objektumra kell kattintania. A kiterjesztett igék ezután megjelennek a normál igékkel együtt.
Fájltípus gyorsmenüjének bővítése
A fájltípus helyi menüjének kiterjesztésének legegyszerűbb módja a beállításjegyzék. Ehhez adjon hozzá egy Shell alkulcsot a fájltípushoz társított alkalmazás ProgID azonosítójának kulcsa alatt. Opcionálisan megadhatja a fájltípus alapértelmezett verb értékét úgy, hogy az alkulcs Shell alapértelmezett értéke legyen.
Az alapértelmezett verb érték a helyi menüben jelenik meg először. Célja, hogy a Shellverb-t biztosítsa, amelyet a ShellExecuteEx meghívásakor használhat, ha nincs verb megadva. A Shell nem feltétlenül választja ki az alapértelmezett verb értéket, amikor a ShellExecuteEx-t ilyen módon használjuk. Az Shell5.0-s verziók és újabbak esetében, amelyek a Windows 2000 és újabb rendszereken találhatók, a Shell az alábbi lista első elérhető verb használja. Ha egyik sem érhető el, a művelet meghiúsul.
- A nyitott verb
- Az alapértelmezett verb
- Az első verb a beállításjegyzékben
- Az "openwith" verb
Az 5.0-s verzió előtti verziók esetén Shell hagyja ki a harmadik elemet.
Az Shell alkulcs alatt hozzon létre egy alkulcsot minden egyes verb számára, amelyet hozzá kíván adni. Ezen alkulcsok mindegyikének REG_SZ értéke a megjelenítési verbsztringre van állítva. A "canonical" igék megjelenítési karakterláncát kihagyhatja, mert a rendszer automatikusan megjelenít egy megfelelően honosított karakterláncot. Ha kihagyja a nemcanonikus igék megjelenítési sztringjét, a verb sztring megjelenik. Minden verb alkulcshoz hozzon létre egy parancsalkulcsot, amelynek alapértelmezett értéke a parancssor.
Az alábbi ábrán a .myp fájltípus gyorsmenüje látható, amelyet a Fájltípusok és a Ikonok testreszabásahasznál. Most már open, doit, print és printto parancsok találhatók a helyi menüben, és a doit az alapértelmezett verb. A gyorsmenü így néz ki.
Az előző ábrán látható helyi menü kibővítéséhez használt beállításjegyzék-bejegyzések a következők:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
(Default) = MyProgram Application
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4
Bár a Open With parancs az első elválasztó fölött van, a rendszer automatikusan létrehozza, és nem igényel beállításjegyzék-bejegyzést. A rendszer automatikusan létrehozza az open és print kanonikus igék megjelenítési neveit. Mivel a doit nem canonical verb, a rendszer a "&Do It" megjelenítési nevet rendeli hozzá, amelyet a D billentyű lenyomásával lehet kijelölni. A printto verb nem jelenik meg a helyi menüben, de a nyomtató ikonjára csepegtetve lehetővé teszi a felhasználó számára a fájlok nyomtatását. Ebben a példában %1 a fájlnevet és %2 a nyomtató nevét.
Az igék elnyomhatók a szabályzat beállításaival úgy, hogy hozzáadnak egy SuppressionPolicy értéket a verb kulcshoz. Állítsa a SuppressionPolicy értékét a szabályzat azonosítójára. Ha a házirend be van kapcsolva, a verb és az ahhoz tartozó helyi menübejegyzés le van tiltva. A szabályzatazonosító lehetséges értékeit a KORLÁTOZÁSOK enumerálás című cikkben talál.
Az előre definiált Shell objektumok helyi menüjének bővítése
Számos előre definiált Shell objektum helyi menükkel rendelkezik, amelyek bővíthetők. A parancsot ugyanúgy regisztrálja, mint a tipikus fájltípusokat, de az előre definiált objektum nevét használja fájltípusnévként.
Az előre definiált objektumok listája a Bővítménykezelők létrehozása Shellelőre definiált Shell objektumok szakaszában található. Azok az előre definiált Shell objektumok, amelyek helyi menüi bővíthetők a beállításjegyzékben lévő igék hozzáadásával, a táblában a "Verb" szóval vannak megjelölve.
Alkalmazás regisztrálása tetszőleges fájltípusok kezelésére
A dokumentum előző szakaszaiban bemutattuk, hogyan definiálhat helyi menüelemeket egy adott fájltípushoz. A helyi menü definiálásával többek között megadhatja, hogy a társított alkalmazás hogyan nyitja meg a fájltípus egy tagját. A Fájltípusokcímű témakörben leírtak szerint azonban az alkalmazások külön alapértelmezett eljárást is regisztrálhatnak, amelyet akkor használhatnak, ha a felhasználó az alkalmazással olyan fájltípust próbál megnyitni, amelyhez nem társította az alkalmazást. Ezt a témakört itt tárgyaljuk, mert az alapértelmezett eljárást ugyanúgy regisztrálja, mint a helyi menüelemeket.
Az alapértelmezett eljárás két alapvető célt szolgál. Az egyik, hogy meg kell adnia, hogyan kell meghívni az alkalmazást egy tetszőleges fájltípus megnyitásához. Használhat például egy parancssori jelzőt, amely jelzi, hogy ismeretlen fájltípus van megnyitva. A másik cél egy fájltípus különböző jellemzőinek meghatározása, például a helyi menüelemek és az ikon. Ha egy felhasználó egy további fájltípussal társítja az alkalmazást, az adott típusnak ezek a jellemzői lesznek. Ha a további fájltípus korábban egy másik alkalmazáshoz volt társítva, ezek a jellemzők helyettesítik az eredetieket.
Az alapértelmezett eljárás regisztrálásához helyezze el ugyanazokat a beállításkulcsokat, amelyeket az alkalmazás ProgID azonosítójához létrehozott az alkalmazás HKEY_CLASSES_ROOT\Alkalmazásokalkulcsa alatt. Egy FriendlyAppName értéket is megadhat, amellyel a rendszer felhasználóbarát nevet adhat az alkalmazásnak. Az alkalmazás felhasználóbarát neve is kinyerhető a végrehajtható fájlból, de csak akkor, ha a FriendlyAppName érték hiányzik. Az alábbi beállításjegyzék-töredék egy MyProgram.exe minta alapértelmezett eljárását mutatja be, amely egy barátságos nevet és több helyi menüelemet határoz meg. A parancssztringek tartalmazzák a /a jelzőt, amely értesíti az alkalmazást arról, hogy tetszőleges fájltípust nyit meg. Ha DefaultIcon alkulcsot tartalmaz, általános ikont kell használnia.
HKEY_CLASSES_ROOT
Applications
MyProgram.exe
FriendlyAppName = Friendly Name
shell
open
command
(Default) = C:\MyDir\MyProgram.exe /a "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2" %3 %4
Az új almenü kiterjesztése
Amikor egy felhasználó megnyitja a Fájl menüt a Windows Intézőben, az első parancs Új. Ha bejelöli ezt a parancsot, megjelenik egy almenü. Alapértelmezés szerint két parancsot tartalmaz, Mappa és Parancsikon, amelyek lehetővé teszik a felhasználók számára almappák és parancsikonok létrehozását. Ez az almenü kiterjeszthető úgy, hogy fájllétrehozó parancsokat tartalmazzon bármilyen fájltípushoz.
Ha fájllétrehozó parancsot szeretne hozzáadni az Új almenühöz, az alkalmazás fájljaihoz társított fájltípussal kell rendelkeznie. Adjon meg egy ShellNew alkulcsot a fájlnévkiterjesztés kulcsához. Ha a Fájl menü Új parancsa van kiválasztva, a Shell program hozzáadja azt az Új almenühöz. A parancs megjelenítési sztringje a program ProgID azonosítóhoz rendelt leíró sztring lesz.
Rendeljen egy vagy több adatértéket a ShellNew alkulcshoz a fájllétrehozási módszer megadásához. A rendelkezésre álló értékek a következők.
| Érték | Leírás |
|---|---|
| Parancs | Végrehajt egy alkalmazást. Ez egy REG_SZ érték, amely megadja a végrehajtandó alkalmazás elérési útját. Beállíthatja például, hogy elindítson egy varázslót. |
| Adat | Megadott adatokat tartalmazó fájlt hoz létre. Az adat egy REG_BINARY érték a fájl adataival. Az adatok figyelmen kívül lesznek hagyva, ha NullFile vagy FileName van megadva. |
| Fájlnév | Létrehoz egy fájlt, amely egy adott fájl másolata. A FileName egy REG_SZ érték, amely a másolandó fájl teljes elérési útjára van állítva. |
| Nullfájl | Üres fájlt hoz létre. A NullFile nincs hozzárendelve értékhez. Ha NullFile van megadva, a rendszer figyelmen kívül hagyja az Adatok és a Fájlnév értékeket. |
Az alábbi ábrán a .myp fájltípus Új almenüje látható, amelyet példaként használ a fájltípusok és Az ikonok testreszabása. Most már van egy parancsa, Sajátprogram alkalmazás. Amikor egy felhasználó kiválasztja a MyProgram-alkalmazást az Új almenüből, a Shell rendszer létrehoz egy "New MyProgram Application.myp" nevű fájlt, és átadja a MyProgram.exe.
A beállításjegyzék bejegyzése a következő:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
ShellNew
NullFile
MyProgram.1
(Default) = MyProgram Application
DefaultIcon
(Default) = C:\MyDir\MyProgram.exe,2
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4