Ga naar inhoud

[Delphi (6)] Files runnen vanuit geheugen


Aanbevolen berichten

hmm, dan kom je toch al snel op iets met een form voor al je settings... en een systemwide keyboard hook is ook wel handig in zo'n geval... niet echt simpel. Ik denk dat het wel te doen is, dan moet je die systemwide keyboard hook laden en laten runnen en die via messages aan je progje de printscreen afvanging terug laten geven... dan krijg je zoiets: [code:1:dbe4132b5e] Repeat ProcessMessages(); if blah blah blah // message afvangen until False; [/code:1:dbe4132b5e]
Link naar reactie
ok, dat werkt niet, want messages hebben een window nodig :| uhm, kleine verbetering: RegisterClass CreateWindow de WindowProc van de RegisterClass even op een of andere proc zetten die de messages afhandelt... als je een dag geduld hebt kan ik nog wel een code produceren ook, nu een beetje druk :D
Link naar reactie
[quote:576683589b="Johan Stokking"]Oke! Er bestaan dus geen services onder Windows 98? Ik heb volgens mij wel is gehoord van pseudo-services? Is dat iets of niet??[/quote:576683589b] Je kunt er toch een 'taskbar'-icon van maken ? Dan is het zo goed als onzichtbaar, maar in noodgevallen nog steeds toegankelijk. Ik meen dat D5 daar al standaard functies voor heeft ...
Link naar reactie
Even kijken... Een programma dat reageert als een bepaalde toets wordt ingedrukt, dat draait onder Windows, dat opstart zodra Windows opstart en afsluit zodra Windows afsluit. Het mag niet zichtbaar zijn, ook niet als TrayIcon. En bij voorkeur zo klein mogelijk. Wel, je begint met een nieuwe applicatie, of liever gezegd met een kale DPR. Dit mag dus geen Console applicatie zijn want dan krijg je een console zichtbaar maar je wilt ook niet de VCL gebruiken met al de bijbehorende forms want dan groeit het beestje tot over de 200 KB. Dus begin je met:[code:1:b57e424592]program Test; uses Windows; {$R *.RES} begin end.[/code:1:b57e424592]En dan heb je al iets dat kleiner is dan 20 KB. Vervolgens zul je je eigen messageloop moeten bouwen m.b.v. de Windows API om het programma draaiende te houden totdat het opdracht krijgt om af te sluiten. (Hoe dit gebeurt is niet erg interessant.) Je kunt [url=http://www.blue-knight.net/wisewords/WiseWords.zip]hier[/url] een voorbeeld vinden met daarin alleen de code van een kleine TrayIcon applicatie van mij. Klik je daarop met de linkermuis krijg je een wijze spreuk te zien. Klik je erop met de rechtermuis dan stopt het programma. Erg simpel, erg leuk maar ook erg groot omdat de wijze spreuken zo'n 95% van alle code vormt. Het andere probleem is echter het afvangen van een speciale toets en dat kan alleen met een systeem-wijde 'hook'. Echter, deze hook kan niet binnen een executable staan omdat een executable niet in de process-space van andere processen kan kijken. Daarvoor moet Windows in ieder proces een DLL 'injecteren', zoals dat zo mooi heet. Oftewel, naast de executable dien je dus ook een extra DLL te maken. Deze bevat dus een speciale MessageHook die reageert zodra de PrintScreen toets wordt ingedrukt. Dit is nog lastiger en hier heb ik helaas geen voorbeeld van. Is ook erg lang geleden dat ik me hier mee heb bezig gehouden. Het probleem echter is dat je messagehook kan worden 'overruled' door andere messagehooks. Als dit gebeurt dan heeft je hook geen functie meer. Zo zijn er enkele applicaties die intern een messagehook gebruiken om zo keyloggers en andere spy-tools te weren. Doordat de applicatie zelf alles afvangt krijgen andere hook-handlers geen kans meer om te reageren. Heeft dus geen effect. En natuurlijk, als je een DVD'tje aan het bekijken bent dan hebben deze screenshots ook geen effect. Windows weet namelijk niet beter dat de plek waar de film wordt getoond gewoon een zwart blok is. Vaak is het is de hardware die rechtstreeks aan de videokaart doorgeeft wat er precies in dat zwarte vlak moet staan zodat de videokaart veel sneller het scherm kan vullen en je een mooi, niet-knipperend filmpje te zien krijgt.[/url]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...