Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

jeg er ikke noen ekspert på programmering, men jeg syntes dette hørtes litt rart ut. du kan vel ikke bare legge på noen bytes i en .exe fil? det er jo kompilert kildekode, så hvis du skal forandre på .exe filen så må du vel forandre kildekoden og rekompilere?

 

vet ikke om jeg forstod deg rett

Lenke til kommentar

Vet ikke helt hvorfor du ønsker dette - syns det hørtes ut som en dårlig løsning på et problem jeg ikke har forstått....

 

Uansett så er en exe-fil kun en strøm av bytes som alle andre filer. Det er dermed fullt mulig å åpne fila i en TFileStream for deretter å skrive til slutten av den. Da kommer det som ekstra bytes etter den kompilerte koden og den kompilerte koden vil ikke bry seg.

 

Lag deg en record med informasjonen du ønsker å utveksle. Legg også til en header i denne recorden. På den måten kan du åpne fila og sjekke om det ligger informasjon der eller ikke - noe ala ID3-tag'ene hvis du er kjent med dem.

 

TMinInfo = record

header: array[0..3] of Char;

port: integer;

end;

[code]

 

Sett header til f.eks. 'PORT'. Når du åpner fila igjen kan du sjekke de siste sizeOf(TMinInfo)-bytene og se om den begynner med 'PORT'. Dersom de gjør det kan du anta at det er din info som ligger der, og lese disse inn i en TMinInfo-record igjen.

 

Men som sagt - syns ikke dette høres ut som en god løsning. Hvorfor ikke bruke en inifil, en registry-key eller noe annet som ikke involverer skriving til en exe-fil? Hva vil skje dersom begge exe-filene kjører allerede når du forsøker å skrive til den ene? Hvordan vil antivirus-progrmamer reagere på slik oppførsel?

 

-Vegar

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...