Feilmelding når du kjører et .NET Framework 1.1-basert program på en Windows Vista-basert datamaskin: Kan ikke opprette hake

Artikkel-ID: 925168 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Symptom

Når du kjører et .NET Framework 1.1-basert program på en Windows Vista-basert datamaskin, bruker du en System.Windows.Forms.SendKeys-klasse i programmet. Hvis tjenesten for brukertilgangskontroll (UAC) er startet, genererer programmet et sikkerhetsunntak. Det kan også hende at du får følgende feilmelding:
Kan ikke opprette hake

Årsak

Dette problemet oppstår fordi .NET Framework 1.1 oppretter en global logg-hake for SendKeys-klassen. Denne haken har ikke tillatelser til å logge på Windows Vista hvis UAC-tjenesten er startet.

Løsning

Du kan løse dette problemet ved å laste ned en GRD (General Distribution Release) fra Microsoft Windows Update og Microsoft Download Center. Følgende fil kan lastes ned fra Microsoft Download Center:

Skjul dette bildetVis dette bildet
Last ned
Last ned KB925168-pakken nå.

Hvis du vil ha mer informasjon om hvordan du laster ned Microsoft-støttefiler, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
119591 Slik laster du ned Microsoft-støttefiler fra elektroniske tjenester
Microsoft har søkt etter virus i denne filen. Microsoft brukte det nyeste antivirusprogrammet som var tilgjengelig den datoen filen ble gjort tilgjengelig. Filen er lagret på servere med forbedret sikkerhet som bidrar til å forhindre at uvedkommende gjør endringer i filen.

Forutsetninger

Du må ha .NET Framework 1.1 installert for å kunne bruke denne GDRen.

Informasjon om erstatning av GDR

Denne GDRen erstatter ingen andre GDRer som er installert på datamaskinen.

Omstartskrav

Du trenger ikke starte datamaskinen på nytt etter at du har installert denne GDRen.

Status

Microsoft har bekreftet at dette er et problem for Microsoft-produktene som er oppført i delen Informasjonen i denne artikkelen gjelder.

Mer informasjon

GDRen oppdaterer .NET Framework 1.1. Når du har tatt i bruk GDRen, kaller .NET Framework 1.1 APIen User32 SendInput i stedet for å opprette den globale logg-haken. Som standard prøver SendKeys-klassen å bruke den globale logg-haken første gang du kjører et program på en Windows Vista-basert datamaskin. Hvis SendKeys-klassen ikke bruker den globale logg-haken, kalles APIen User32 SendInput for å sende alle tastetrykkene. Alle senere kall til SendKeys-klassen går direkte til APIen User32 SendInput. Derfor kan SendKeys-klassen kjøre uten problemer på en Windows Vista-basert datamaskin.

Obs!  Denne GDRen påvirker ikke operativsystemer som ikke har UAC-tjenesten.

Du kan føye til programmets konfigurasjonsfil for å konfigurere metoden System.Windows.Forms.SendKeys.Send. Hvis du føyer til denne konfigurasjonskoden i programmets konfigurasjonsfil, tvinger du gjennom bruken av den globale logg-haken for å sende tastetrykk på alle plattformer.
<configuration>
  <appSettings>
    <add key="SendKeys" value="JournalHook"/>
  </appSettings>
</configuration>
Obs!  Hvis du føyer til denne konfigurasjonskoden, genererer SendKeys-klassen et sikkerhetsunntak når programmet kjører på en Windows Vista-basert datamaskin der UAC-tjenesten er startet.

Hvis du føyer til følgende konfigurasjonskode i programmets konfigurasjonsfil, tvinger du SendKeys-klassen til å kalle APIen User32 SendInput for å sende tastetrykk på alle plattformer.
<configuration>
  <appSettings>
    <add key="SendKeys" value="SendInput"/>
  </appSettings>
</configuration>
Obs!  Hvis du føyer til denne konfigurasjonskoden, kaller SendKeys-klassen alltid APIen User32 SendInput API på alle plattformer. Hvis konfigurasjonsfilen for et program allerede finnes, trenger du bare å føye til AppSetting-delen i konfigurasjonsfilen.

Hvis du vil ha mer informasjon om konfigurasjonsfiler for programmer, kan du gå til følgende webområde for Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms229689(vs.71).aspx
Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
824684 Beskrivelse av standardterminologien som brukes til å beskrive oppdateringer av Microsoft-programvare

Egenskaper

Artikkel-ID: 925168 - Forrige gjennomgang: 21. mai 2007 - Gjennomgang: 1.2
Informasjonen i denne artikkelen gjelder:
  • Microsoft .NET Framework 1.1
Nøkkelord: 
kberrmsg kbqfe kbpubtypekc KB925168

Gi tilbakemelding