![]() |
Text von Datei1 in Datei 2 anzeigen lassen
Soa, ich hatte schonmal einen thread aufgemacht, indem es um wa sähnliches ging, doch jetzt möchte ich ganz anders anfangen.
Also ich habe folgendes vor. Ich habe bsp1.exe und bsp2.exe. Jetzt möchte ich in bsp1.exe einen Text eingeben. Und wenn ich dann auf einen Button klicke wird dieser Text an bsp2.exe gesendet. Und wenn ich dann bsp2.exe öffne, steht in nem Label oder in ner msgbox dann der Text, dne ich in bsp1.exe eingegeben habe. Jetzt ist die Frage, wie an das anstelle? Als hilfestellung habe ich gesagt bekommen, ich sollte FindResource LoadResource LockResource SizeOfResource benutzen. Doch leider finde ich keinerlei Anwendungsbeispiele, wie ich das in etwa anwende. Es würde mich sehr freuen, wenn man mir das erklären könnte. Ich strenge mich bestmöglich an, da ich nicht einfach nur C&P benutzen möchte, sondern verstehen will, wie das funktioniert. Denn ich möchte Programmieren lernen und nicht kopieren ^^ Ich habe schon ein paar Programme gecodet, aber das ging mehr in den Bereich Webanwendung. Sprich Formulare an ne Seite senden und auslesen etc. Aber sowas wie jetzt habe ich noch nie gemacht und interessert mich doch sehr. Ich würde mich wirklich sehr über eure hilfe freuen. Ich selber benutze Delphi 2009. |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Zitat:
Soll die bsp2.exe gestartet und einfach nur der Text dort angezeigt werden? Oder soll der Text wirklich erst innerhalb der bsp2.exe gespeichert und nach deren Start dort verfügbar sein? Bei Ersterem: Mit ![]() ![]() ![]() Statt SendMessage kannst du auch jede andere Art von IPC (Inter-Process-Communication) verwenden. Oder ganz einfach: Gib der 2. Anwendung deinen Text als Parameter mit. (kann ganz einfach via ![]() |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Also der Text soll schon in der 2ten Datei gespeichert werden.
Wenn ich die Datei jetzt zu nem freund schicke, und ich vorher einen text eingetragen habe von Datei 1 aus, dann soll mein freund den gleichen text auch noch lesen können. Also ja, der text muss in Datei2 gespeichert werden. |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Tja, dann kommst du um
![]() ![]() Und warum gibst du den Text nicht einfach so mit? (z.B. in einer INI) |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Ok ich habe mich jetzt einw enig eingearbeitet doch hänge jetzt an einer stelle:
Ich möchte ja jetzt einen String in die Ressource eintragen. Jetzt habe ichd ieses Beispiel gefunden. Ist schon was älter.
Delphi-Quellcode:
Aus folgendem Code schließe ich, das diese .exe als Ressource eingetrage wird:
HRSRC hResLoad; // handle to loaded resource
HANDLE hExe; // handle to existing .EXE file HRSRC hRes; // handle/ptr. to res. info. in hExe HANDLE hUpdateRes; // update resource handle char *lpResLock; // pointer to resource data BOOL result; // Load the .EXE file that contains the dialog box you want to copy. hExe = LoadLibrary("hand.exe"); if (hExe == NULL) { ErrorHandler("Could not load exe."); } // Locate the dialog box resource in the .EXE file. hRes = FindResource(hExe, "AboutBox", RT_DIALOG); if (hRes == NULL) { ErrorHandler("Could not locate dialog box."); } // Load the dialog box into global memory. hResLoad = LoadResource(hExe, hRes); if (hResLoad == NULL) { ErrorHandler("Could not load dialog box."); } // Lock the dialog box into global memory. lpResLock = LockResource(hResLoad); if (lpResLock == NULL) { ErrorHandler("Could not lock dialog box."); } // Open the file to which you want to add the dialog box resource. hUpdateRes = BeginUpdateResource("foot.exe", FALSE); if (hUpdateRes == NULL) { ErrorHandler("Could not open file for writing."); } // Add the dialog box resource to the update list. result = UpdateResource(hUpdateRes, // update resource handle RT_DIALOG, // change dialog box resource "AboutBox", // dialog box name MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), // neutral language lpResLock, // ptr to resource info SizeofResource(hExe, hRes)); // size of resource info. if (result == FALSE) { ErrorHandler("Could not add resource."); } // Write changes to FOOT.EXE and then close it. if (!EndUpdateResource(hUpdateRes, FALSE)) { ErrorHandler("Could not write changes to file."); } // Clean up. if (!FreeLibrary(hExe)) { ErrorHandler("Could not free executable.");
Delphi-Quellcode:
Ich möchte aber ja einen String eintragen.
hExe = LoadLibrary("hand.exe");
Dann ahbe ich mal was gesucht und bin hierauf gestoßen: ![]() Aber das funktioniert auch nicht wirklich. Geht das nicht leichter? |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Ich finde Deine Programmidee gefährlich:
Du weisst schon, dass das was Du da programmieren möchtest sehr grosse Ähnlichkeit mit einem Virus hat. Ich denke, jeder Virenscanner wird aufmucken, wenn da ein ausführbares Programm einfach geändert wird. Ich empfehle dir den Umweg über eine externe Datei, in welcher du den Text aus Programm 1 abspeicherst (kann ja auch ein Temp-Datei sein, die anschiessend wieder gelöscht wird) und anschliessend in Programm 2 geöffnet wird. |
Re: Text von Datei1 in Datei 2 anzeigen lassen
Ähnlichkeit mit einem Virus ?
Sry hab aber keinen Plan wie ein Virus aufgebaut ist. Das soll auf keinen Fall irgendwas mit einem Virus zu tun haben. Mich interessiert nur halt das ganze Prinzip und würde es gerne hin bekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz