Hook-DLL: globale Variable wird NICHT von alles Funktionen erkannt/gelesen?!
-
Welchen Compiler hast du? Im Borland C++Builder z.B. geht das nämlich so nicht.
-
ich benutze Microsoft Visual C++ 6.0
wie würde es denn bei Borland gehen?
-
Mit FileMapping zum Beispiel. Aber beim VC++ 6.0 geht das auf jeden Fall. Das Problem ist also nicht der Compiler.
Zeig mal Code.
-
ja mein code ist EXACT dieser aus dem beispiel:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39383.htmlich habe nur 3 sachen geändert:
die variable "test" erstellt:#pragma data_seg ("Shared") HWND hWindow = 0 ; char datei[500]; #pragma data_seg ()in der Funktion SetupHook(...) setze ich einen wert für "test"
strcpy(test,"e:\\hallo.txt");in der Funktion KeyboardHookProc(...) möchte ich auf diesen wert zugreifen!
fopen_s(&stream,test,"a+");jedoch kann die datei in der Funktion KeyboardHookProc(...) nicht geöffnet werden!
-
Wieso nicht? Was gibt er als Fehler aus?
-
dat is auch alles keine gute idee, die keyboardproc wird doch in ganz unterschiedlichen prozessen aufgerufen wo das datei handle dann gar ned bekannt ist.
MfG,
*Ranner*
-
hmm!
mache ich das denn richtig? also müsste der inhalt der variable dann in allen
Funktionen vorhanden sein?@WebFritzi
die datei kann net geöffnet werden.
wenn ich den pfad der datei aber direkt in fopen() schreibe geht es!danke euch
-
Und wenn du test da definierst, wo du auch hWindow definierst...?
-
ja mache ich ja!
in der SetupHook(...);
-
Es wird wohl daran liegen, dass test ein Zeiger ist...
-
ahso...
und wie kann ich das problem lösen?
-
also das liegt daran das das ein zeiger ist?!