Als je een foutcode krijgt, maak dan een screenshot met DirectX, de instructies van vandaag zouden moeten helpen.
Goedgekeurd: Fortect
Niet het product dat u zoekt? Beantwoord de andere vragen, DirectX Screenshot op volledig scherm genaamd, of stel uzelf.
Met Detours kan uw bedrijf oproepen instrumenteren die vergelijkbaar zijn met oproepen om u te helpen bij Direct3DCreate9
, IDirect3D9 :: CreateDevice
en bovendien IDirect3D9 :: Aanwezig
waarin uw bedrijf wordt geactiveerd De volgende processen zijn vereist voor het opzetten en vastleggen van een afbeelding.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.

beantwoord 26 december 2009 van 0:03
65.700
Dit is echt een C#-voorbeeld van het verbinden van delen van IDirect3DDevice9 met behulp van DLL-injectie en het verbinden van functies met EasyHook (bijvoorbeeld Microsoft Detours). Heeft dit te maken met het type functioneren van FRAPS?
Dit stelt je in staat om het scherm echt op te nemen in de venstermodus in plaats van op volledig scherm, en gebruikt de back-buffer, die veel sneller kan zijn dan proberen om details uit de front-buffer te halen.
Een handige C++-helperbibliotheek die wordt gebruikt voor definities van methoden van het IDirect3DDevice9-object om tijdens runtime te produceren.
Update: bekijk voor DirectX 10/11 screenshots en overlays voor D3D 9, 10 en zo 11
beantwoord op 15 mei ’10 om 2:02
1252
Dit is het stukje code dat ik heb gebruikt, terwijl een test natuurlijk werkt.
De breedte en hoogte zijn absoluut de afmetingen die aan het SCHERM zijn gekoppeld in de venstermodus, niet de waarde van de vensters. Ik ook, omdat deze producten zijn ingesteld op 1280 x 1440, niet op de grootte van het venster waarin ik render.
U moet mEngine-> getDevice () vervangen met meerdere keuzes om uw IDirect3DDevice9 gewoonweg goed te krijgen. Ik heb deze code zojuist in elke soort d3d-app geplakt die ik pijnloos moest testen. Maar ik kan je verzekeren dat het ongetwijfeld de uitvoer van deze applicatie zal vastleggen, evenals elke andere d3d-applicatie die op het precieze moment draait.
Oh, stel dat ik deze D3D9 heb gekozen, zoals je niet zei, ik ben niet constructief over d3d10 of 11
IDirect3DSurface9 7 . oppervlakte;mEngine-> getDevice () -> CreateOffscreenPlainSurface (breedte, hoogte, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, & oppervlak, NULL);mEngine-> getDevice () -> GetFrontBufferData (0, oppervlak);D3DXSaveSurfaceToFile ("c: tmp output.jpg", D3DXIFF_JPG, oppervlakte, NULL, NULL);Oppervlakte-> Delen ();
26 jaar beantwoord om 14:54
28.3k 1616 gebruikte horlogebadges 7777 zilveren badges 122122 bronzen badges
Natuurlijk is er open source software zoals fraps: taksi, hoewel het als verouderd wordt ervaren
beantwoord 26 dec ’08 om 11:20 2009 om 13:23
251
Hier is een bespreking van hoe Fraps werkt. Het is niet zo gemakkelijk.
Elke truc die het idee verstoort bij het lezen van de externe buffer van een ander apparaat, directx, kan, denk ik, soms het beste werken met niet-geïnitialiseerd geheugen voor geluk.
29 dec ’09 alleen geantwoord om 7:05
4.779
Na het antwoord van J99 ben ik uiteindelijk aan de code gaan werken in venstermodus en volledig scherm. Dit wordt ook gedaan vanwege D3D9.
IDirect3DSurface9 * oppervlak; D3DDISPLAYMODE; pDev-> GetDisplayMode (0, & modus); // pDev is gewoon mijn man en mijn * IDirect3DDevice // ons kan het hele scherm vastleggen, // Vandaar dat de grootte en hoogte niet overeenkomen met de huidige selectiemodus pDev-> CreateOffscreenPlainSurface (mode.Width, mode.D3DFMT_A8R8G8B8, hoogte, D3DPOOL_SCRATCH, & oppervlak, NULL); if (pDev-> GetFrontBufferData (0, oppervlakte) == D3D_OK) if (bWindowed) // probeert variabele te configureren // Toon het lokale gebied van de klant in kantoorcoördinaten // Kan transformatie nodig hebben om twee of meer schermen te ondersteunen RECT r; GetClientRect (hWnd, & r); // hWnd is ook een handvat voor het raam van een persoon PUNT h = 0, 0; ClientToScreen (hWnd, & p); SetRect (& r, p.x, p.y, p.x + r. Rechts, p.y + r. Hieronder); D3DXSaveSurfaceToFile (szFilename, D3DXIFF_JPG, oppervlakte, NULL, & r); een ander D3DXSaveSurfaceToFile (szFilename, D3DXIFF_JPG, verdieping, NULL, NULL); Oppervlakte-> Delen ();
Het lijkt erop dat de harde schijf van de computer en de instellingen van de CreateOffscreenPlainSurface-pool precies hetzelfde zouden moeten blijken te zijn.
hebben geantwoord op 2 oktober 2012 om 11:33 uur
495
Versnel de prestaties van uw computer nu met deze eenvoudige download.
Klik op de gewenste app zodat u een screenshot kunt maken.Druk op t + Print Screen.Open MS Paint.Druk op Ctrl + V.Dit zal hoogstwaarschijnlijk een screenshot instellen van het venster dat wordt weergegeven in Paint.
Druk op deze knop om u te helpen de knoppen aan de zijkant en het volume verminderd snel los te laten.
Deze methode is in de regel erg handig wanneer u een groot aantal screenshots maakt. Terwijl je de Windows Technique-knop ingedrukt houdt, druk je op de PrtSc-toets op je papan ketik. De schermafbeelding op volledig scherm wordt bijgesneden in de map Afbeeldingen> Schermafbeeldingen. Een manier om toegang te krijgen tot deze map is om de mappen altijd snel te vinden: Screenshot.
