Deutsch
Forum

EXE-Instanzhandle

 

Nico
Madysa
OK, folgendes:

Ich habe vor Kurzem meinem Programm eine kleine ListBox hinzu gefügt. In Ihr sollen alle EXEn (vornehmlich Zusatztools zu meinem Programm) im selben Ordner wie mein Programm angezeigt werden. Wählt man eine EXE aus, wird daneben ihr Logo und eine kurze Beschreibung angezeigt. Bilder und Strings sind als Ressourcen in den EXEn eingelagert. Nun das Problem:

Bei Draufklick rufe ich das entsprechende Programm mit WinExec auf, erhalte sein Instanzhandle und ziehe mit Create(hPic) und ExtString$() die Sachen raus, die ich brauch.
Das Problem: Es kamen weder Bild noch String. Ich probierte die Sache im entsprechenden Programm selbst mit %hInstance - Bild und String kamen.

Meine Frage nun:
Kann es sein, dass WinExec gar kein Instanzhandle zurück liefert?
Und wenn nicht, wie krieg ich es dann?
 
Nico Madysa
29.09.2006  
 




Rolf
Koch
Du hast Dir die Frage mit dem Instancehandle bereits beantwortet und wurde sogar hier schon öfters beschrieben:
Winexec liefert nur den Fehlercode zurück
 
29.09.2006  
 



[quote:e25ce0ab4c=Nico Madysa]
Meine Frage nun:
Kann es sein, dass WinExec gar kein Instanzhandle zurück liefert?
Und wenn nicht, wie krieg ich es dann?[/quote:e25ce0ab4c]
So ist es. So funktioniert das nicht!
Das Instanzhandle der Anwendung ist das Handle des Prozesserzeugenden Moduls im jeweiligen Prozess.

Schau dir mal die API LoadLibraryEx an, die hilft dir weiter. TNT dürfte da ebenfalls gut für dich sein, damit du die Angelegenheit verstehst..
 
29.09.2006  
 



UseDLL sollte funktionieren, einfach die Exe anstatt einer DLL angeben. Das Ergebnis kannste nutzen, habs mit Profan jetzt nicht getestet, aber falls es nicht geht, nutze die ~LoadLibraryA API
 
29.09.2006  
 




Nico
Madysa
@A. Hötker: TNT ist definitiv nichts für mich, allerdings nicht aus Abneigung, sonern weil ich Windows ME hab.

@A. Hötker und TS-Soft: Danke für die schnelle Antwort. Sollte UseDLL nicht funktionieren, werde ich die API probieren. (Hehe, das reimt sich.)
 
Nico Madysa
29.09.2006  
 



So, das dürfte helfen...
KompilierenMarkierenSeparieren
Def @LoadLibraryEx(3) !"KERNEL32","LoadLibraryExA"
Windowstyle 31+512
Windowtitle "LoadLibraryEx"
Window 0,0-640,440
Declare Module$,LADEN%,Handle_OF_MODULE&
LET Laden%=$2 Mal testen, sonst $1
Usermessages $10
LET Module$=@LOADFILE$("Ein Modul laden","DLL-Module|*.DLL|OCX-Module|*.OCX|Programme|*.EXE|Alle Dateien|*.*")

IF Module$<>""

    LET Handle_OF_MODULE&=@LoadLibraryEx(@ADDR(Module$),0,LADEN%)
    Print Handle_OF_MODULE&

endif

While %UMESSAGE<>$10

    Waitinput

wend

 
29.09.2006  
 




Nico
Madysa
OK, Danke, probier ich.
 
Nico Madysa
29.09.2006  
 



[quote:c0fd4ace4f=Nico Madysa]@A. Hötker: TNT ist definitiv nichts für mich, allerdings nicht aus Abneigung, sonern weil ich Windows ME hab.
[/quote:c0fd4ace4f]
Einige Funktionen (wie z.B. das Scannen von Prozessspeicher fremder Prozesse oder die Taskmannagerfunktionen) laufen auch unter ME.
 
29.09.2006  
 




Nico
Madysa
Ach so , wieder was gelernt.
Mal sehen, ob ich da was für mich Interessantes finden werde.
 
Nico Madysa
29.09.2006  
 




Nico
Madysa
OK, danke an alle, das Problem ist auch für API-Fürchter wie mich einfach geklärt.

Man muss nicht auf LoadLibraryEx zugreifen, UseDLL geht auch.
(Ich hatte das Problem fast vergessen, da hatte ich bei nem LoadFile-Dialog aus Versehen ne EXE gewählt und die
dann mir UseDLL geöffnet, funktioniert ohne Fehler).
 
Nico Madysa
09.10.2006  
 



Naja, Andreas hat eine vorliebe fürs Komplizierte
 
09.10.2006  
 



[quote:1fc9eb0811=TS-Soft]Naja, Andreas hat eine vorliebe fürs Komplizierte [/quote:1fc9eb0811]
Kann ich von mir nicht behaupten - eher im Gegenteil. Ich habe bloß ganz gerne immer etwas mehr Möglichkeiten als der Rest der Menschheit
Versuch mal mit Usedll unter XP die User32 von Windows98 zu laden - und dann mach das mal mit LoadLibraryEx .

 
09.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.247 Betrachtungen

Unbenanntvor 0 min.
RudiB.28.08.2022
AndreasS06.01.2019
Pauli11.01.2014
Donnie30.03.2013

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

unbekannt (8x)
Nico Madysa (7x)
Rolf Koch (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie