07. december 1999 - 20:38Der er
9 kommentarer og 1 løsning
Skifte ikon på eksternt program
Jeg vil gerne finde noget kode så jeg kan ændre ikonet på hovedprogrammet med en configurator. Der skal helst også være mulighed for at ændre andre resourcer, så jeg kan vælge at brugeren kan skifte bestemte billeder. Det er mest med ikonet jeg mangler det da jeg jo bare kan loade billederne dynamisk
Ikke lige hvad jeg manglede. Jeg skulle helst kunne ændre det på et ANDET program. Altså hovedelen, og så bruge konfiggen til at ændre det med. Det skal være så det bliver der efter at det har været lukket
Spørgsmålet må gå på, hvordan ændrer man den del af en exefil (eller DLL), der indeholder de binære informationer om, hvorledes fx. en Icon ser ud. Andre eksempler på tilsvarende resourcer i filen kunne være Bitmaps, Textstrenge mv.
Jeg kommer til at tænke på: Hvis du ved hvor i filen den pågældende resource ligger, så må det være en smal sag at ændre på informationerne. Jeg har tidligere haft brug for noget selvmodificerende kode, der virkede ved, at jeg på begge sider af den information der skulle ændres, havde placeret en specielt mærker-text. Fx som:
Const Marker1 : Array[0..4] Of Char = 'ZvG$q'; Info : Array[....... Marker2 : Array[0..4] Of Char = 's15R£';
Nu kan du åbne filen som en alm. bineær fil (File Of Byte), søge efter dine merkere og dermed har du "addresserne" i filen, hvor imellem din info er placeret. Med Seek() kommandoen flytter du file pointeren til addressen og kan nu Read/Write'e de nødvendige informationer.
Denne metoder er nemmest på egenudviklede filer...
Når det nu er sagt, så lad mig side at denne model er et hack - dvs. det er en langt dårligere løsning end at gemme de pågældende informationer i en datafil eller registrerings databasen. Du risikere desuden at visse anti-virus programmer, der gemmer og tester på filchecksum, vil se ændringen som et tegn på virus aktivitet.
Jeg kan desvære ikke bruge det Jeg skal bruge noget lignende Microangelo til at ændre ikonet, Jeg skal bare have den funktion implementeret i mit program.
Jeps - Der er vist noget med nogle share rettighede man skal sætte op hvis du vil rette i et kørende program. Det er så længe siden nu, at jeg knap kan huske hvorledes jeg egentligt gjorde det.
Delphi>> Når en exe fil køre er det vist ikke muligt at åbne den hverken for læsning eller for skrivning? (Hvis det er muligt og du kan finde ud af det kan du da godt få lidt point :-)
hmmm, nu lukker jeg det her.... siden det nok ikke kommer videre...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.