c # - Hvordan kan jeg tilsidesætte, hvad der sker, når jeg klikker på en fil i Windows Stifinder?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvis jeg f.eks. Vil dobbeltklikke venstre for at åbne filen i et program (baseret på en algoritme), og dobbeltklik med højreklik for at åbne filen i et andet program.


Jeg vil også gerne tilsidesætte, hvad der sker, når et eksternt program forsøger at starte en (ikke-eksekverbar) fil.

Bedste reference


Jeg vil kraftigt anbefale, at du ikke tilsidesætter den måde, som Windows Explorer fungerer. Folk er allerede bekendt med den måde, det virker på, og ved at ændre det, får folk til at gøre ting, de ikke har til hensigt.


At ændre den måde, som noget så vigtigt virker, er en meget meget dårlig idé.


Af tekniske grunde, hvorfor dette er en dårlig ide, se Raymond Chens blog. Jeg ser ved din profil, at du har C ++ færdigheder, og jeg vil foreslå at gøre dette i C ++ snarere end C #. [1]

Andre referencer 1


Det er ikke en nem opgave, men du kan udvide skallen eller bruge systemkroge:



  1. Oprettelse af en Windows Shell Extension - [2] http://msdn.microsoft.com/en-us/library/bb776797 (v=vs.85) .aspx

  2. Jeg tror, ​​at du ikke kan nå præcis hvad du beskriver bare med Shell Extensions. Hvis du vil undersøge yderligere, så skal du begynde at spille med system kroge. Der er nogle projekter, hvor du kan begynde at se på , inden du går til MSDN-dokumentation:
    [3] Skalforlængelse med tastaturkrog
    [4] Indtast link beskrivelse her