Zum Inhalt springen

SwordMaster

Mitglieder
  • Gesamte Inhalte

    445
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von SwordMaster

  1. Hallo Leute, ich habe mir eine dll geschrieben wo ich per Message Hook auf Events von Fenstern aus einer anderen Anwendung reagiere. das ganze funktioniert auch schon ganz schön. jedoch habe ich jetzt folgendes problem: wenn ich in meiner dll eine globale Variable HWND handles = NULL; habe, und in diese Variable einen wert rein setze, dann kann ich in meiner "HookProc" auch ganz normal darauf zugreifen. wenn ich aber jetzt ein Array habe: HWND handles[1]; dann die werte in das Array schreibe, kann ich in der HookProc nicht mehr darauf zugreifen. bzw. es steht nicht der richtige wert drinnen. Meine Vermutung: Weil ein Array nur ein Zeiger ist, zeigt dieser Zeiger auf einem Speicherplatz in meinem Prozess. Aber in der HookProc bin ich nicht mehr in meinem Prozess sondern in dem Prozess des fremden Fensters. seh ich das richtig? Wenn ja: wie kann ich mein Problem vielleicht lösen? ich bräuchte ein Array weil ich mehr Werte Speichern will. Wenn nein: woran liegt es dann ;-). und wie kann ich auf die werte zugreifen?!. Hoffe jemand kann mir helfen! Danke SwordMaster
  2. Ich hab mir jetzt so ein Bluetooth headset gekauft. funktioniert auch schon :-). Beim Windows Media Player konnte ich einstellen dass die Musik trotzdem noch über die Boxen kommen soll :-). Bin also zufrieden. Das einzige was schade ist, ist dass man bei Power DVD scheinbar das Audiogerät nicht festlegen kann :-(. und jetzt liefert power dvd den ton über das headset (wenn es verbunden ist)... werd mich wohl zum filmeschaun doch an den Windows Media Player gewöhnen müssen. Also dankeschön :-). ciao swordmaster
  3. ich hab mir gestern meinen USB-Dongle für Bluetooth dann auf dem Desktop rechner installiert. ich hatte sowieso einen daheim, für den Datenaustausch zwischen Handy und PC. Aber kann ich dann alle Handy-Headsets die Bluetooth verwenden auch automatisch für den PC verwenden? Und wenn dann das Headset über Bluetooth funktioniert. funktioniert dann meine Soundkarte schon noch? oder muss ich da immer umschalten? zwischen Soundkarte und Bluetooth?. Weil man kann ja auch keine zwei Soundkarten parrallell laufen lassen, soviel ich weiß.
  4. Hallo Leute. ich brauche ein Funkheadset für den PC. hab schon im inet gesucht. aber da finde ich nur funkheadsets für handys. und selbst wenn mal eins dabei ist, ist nicht mal eine abbildung dabei, und ist sau teuer. könnt ihr mir vielleicht eins empfehlen? Bin euch für jeden Vorschlag dankbar :-). Danke SwordMaster
  5. danke für deine hilfe dann muss ich mir was anderes einfallen lassen :-(. das mit der nummer war nur ein kleines testbeispiel, dass ich nicht ewig viel quellcode posten muss. mein eigentliches problem besteht darin, dass ich eine dll habe, die einen message hook auf ein fremdes fenster setzt. aber wenn ich die gleiche dll benutzen möchte, und mehrere fenster auf einmal subclassen will, dann überschreibt er eben immer die globalen variablen. :-(. naja ich werd mal weiter rumprobieren. wenn ich keine andere lösung finde, muss ich mcih halt nochmal bei euch melden. :-)). P.S. das mit LOAD_LIBRARY_AS_DATAFILE hatte ich vergessen wieder rauszunehmen. hätte einfach mal alle Parameter ausprobiert in der hoffnung dass ich per loadlibrary immer eine neue instanz der dll bekomm... aber wenn ich jetzt weiß dass es absicht ist, dann brauch ichs gar nicht weiter versuchen. vielen dank nochmal. SwordMaster
  6. Hallo Leute, ich habe das Problem dass wenn ich zwei mal "LoadLibrary" auf die gleiche dll mache, dass ich dann zweimal das gleiche HINSTANCE zurückbekomme :-(. jetzt hab ich das Problem dass: wenn ich z.b. in er dll die funktion: //Codeausschnitt der dll extern "C" __declspec(dllexport) int InjectDll( ); int nummer = 0; int InjectDll( ) { nummer = nummer + 1; return nummer; } //Codeausschnitt meines Projektes HINSTANCE m_hHookDll; m_hHookDll = LoadLibraryEx("C:\\dlltest\\dll\\Debug\\dll.dll",NULL,LOAD_LIBRARY_AS_DATAFILE); HINSTANCE m_hHookDll2; m_hHookDll2 = LoadLibraryEx("C:\\dlltest\\dll\\Debug\\dll.dll",NULL,LOAD_LIBRARY_AS_DATAFILE); typedef int (*dllFunction)( ); dllFunction my; my = (dllFunction)GetProcAddress(m_hHookDll,"InjectDll"); my(); my = (dllFunction)GetProcAddress(m_hHookDll2,"InjectDll"); my(); eigentlich bräuche ich zwei "Instanzen" der Dll. denn so wie es jetzt ist, gibt es die Variable "Nummer" die in der dll definiert ist nur einmal. obwohl ich zwei LoadLibrarys gemacht habe. => es wird immer die gleiche "Nummer"-Variable erhöht. Kann irgendwie LoadLibrary auf die dll so machen dass die dll wirklich zwei mal komplett geladen wird? dass es dann auch entsprechend die Variablen in der dll zweimal gibt? Wär toll wenn jemand helfen könnte :-). Ciao SwordMaster
  7. Hallo Leute ich habe mir vor ein paar wochen eine Daten dvd gebrennt. jetzt wollte ich diese DVD wieder kopieren. aber es kommen crc fehler . an sich funktioniert die dvd aber noch einwandfrei. nur kopieren kann ich sie halt nicht mehr. für cds habe ich in solchen fällen immer clone cd benutzt. das konnte auch cds mit crc fehler kopieren! aber gibt es so ein brennprogramm auch für daten dvds? habe mal eine demo version von "clone dvd" gehabt. aber clone dvd ist scheinbar nur für video dvds. kann mir jemand ein gutes programm empfehlen? mit nero bin ich schon gescheitert Vielen Danke. SwordMAster
  8. Könnt ihr mir mal bitte sagen was ihr von dem TFT Monitor haltet den es ab morgen bei Lidl gibt? Leider steht zum Beispiel nicht da mit wieviel Herz ich den Monitor betreiben kann. mein jetziger läuft mit 100. und das würd ich ungern nach unten ändern! Würd mich freun wen ihr mir mal eure Meinung sagen könntet! Danke Stefan P.S. hab mal gehört dass man mit TFT Monitoren manche spiele nicht spielen kann. Bin zwar kein extremer Spielefreak aber trotzdem. ist das immernoch so? oder muss man da auf was achten dass alle Spiele bei einem TFT Monitor laufen? (z.B. Reaktionszeit?) Danke im Vorraus. SwordMaster Edit: hier mal die Daten (dann braucht ihr bei lidl.de nicht suchen) 19 Zoll TFT Flachbildschirm Bildschirmdiagonale: 48,2 cm Betrachtungswinkel: 140°/130° Kontrastverhältnis typ.: 600:1 Helligkeit typ.: 250 cd/m2 Reaktionszeit typ.: 12 ms Auflösung: 1.280 x 1.024 Pixel 2 integrierte Lautsprecher VGA & DVI Eingang (Plug and Play) Gewicht (netto): 5,6 kg Internes Netzteil Maße (BxHxT): 43,6 x 43,3 x 18,2 cm (mit Fuß) Wandmontage mit VESA-Halterung möglich (nicht im Lieferumfang enthalten) Zubehör: Netzkabel, PC-Audio Adapterkabel, VGA-Kabel, DVI-Kabel, Bedienungsanleitung 3 Jahre Herstellergarantie inkl. Vor-Ort-Austausch-Service Preis je Stück 279€
  9. ja das stimmt absolut. ich hab vor 3 jahren oder so im forum angefangen Klotzkopp und den rest hier mit Fragen zu belästigen. :-) und jedesmal wenn Klotzkopp geantwortet hat, hat es genauso funktioniert wie er gesagt hat :-) deshalb auch von mir ein großes Respekt :uli
  10. oh man, bin ich .... DANKE hab den fehler durch deinen hinweis gefunden! so hat er ausgesehen. void CContextListCtrl::OnContextMenu(CWnd* pWnd, CPoint point) { m_contextmenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd()); } hab das AfxGetMainWnd() durch "this" geändert und schon läuft alles. da probier ich mortz rum, und dann liegts an so ner Kleinigkeit. Vielen Dank!
  11. Hallo Leute. ich brauche ein CListCtrl mit Context menü. Und die Klasse soll dann auch auf die ereignisse des Kontext menüs reagieren. Mit folgendem Ansatz hätte ich es versucht. - Ich habe eine neue klasse angelegt und als Basisklasse CListCtrl genommen. - Bei den Resourcen (Visual Studio 6.0) habe ich ein neues Menü angelegt und sie per Klassen Assistenten der neuen Klasse zugeordnet. - in der neuen Klasse habe ich auf das Ereigniss WM_CONTEXTMENU reagiert. und lasse das Context menü erscheinen. Soweit ist alles so wie ich es will. (Context Menü erscheint auch schon) Jetzt zu meinem Problem. Das ListCtrl bekommt von den Ereignissen des Contextmenüs nichts mit! :-(((. Ich kriege die ereignisse weder in der WindowProc (der neuen ListCtrl klasse) mit, noch funktioniert es wenn ich über den Klassenassistenten für jeden Menüeintrag so eine Behandlungsmethode erstellen lasse. Das einzige wo ich die Ereignisse mitbekomme ist in der WindowProc des Dialogfensters. In der WindowProc des Dialogfensters kann ich per if (message == WM_COMMAND && LOWORD(wParam) == ID_TASKMANAGER_COPYPID) Das Ereigniss abfragen. Wobei ID_TASKMANAGER_COPYPID die ID des Menüeintrags ist. Also zu meiner Frage: Gibt es eine Möglichkeit wie ich diese Ereignisse in der Neuen ListCtrl Klasse abfangen kann? Laut MSDN: ist in (HWND) lParam das Handle des Controls. Also hätte ich noch versucht dass in in der WindowProc des Dialogs einfach abfrage wenn (HWND) lParam == <Dem Handle des ListCtrls> ist und dann die Nachricht an die ListCtrlKlasse weiter delegiere. jedoch ist (HWND)lParam immer NULL bei den Ereignissen des Context Menüs. Hat jemand eine gute Idee für mich? Ich möchte die Behandlung der Contetmenü-Ereignisse einfach in der neuen CListCtrl klasse machen. Danke SwordMaster
  12. danke für deine schnelle antwort, aber ich habe eine mfc dialogbasierende anwendung. (VC++ 6.0) ist mir echt schleierhaft wieso es da auf die reihenfolge der tastendrücke ankommt :-(.
  13. Ich möchte in meinem Programm abfragen ob eine bestimmte Tastenkombination (Strg+Shift+C) gedrückt ist. Habe folgende Abfrage: if ((GetKeyState(17)<0) && (GetKeyState(16)<0) && (GetKeyState(67)<0)) { //die tasten sind gedrückt. } jetzt ist mir folgendes aufgefallen. wenn ich zum Beispiel: C + Shift + Strg oder C + Strg + Shift drückt (also die reihenfolgen) dann funktioniert es. ABER: bei der Reihenfolge: Strg+Shift+C Funktioniert die Abfrage nicht, weil angeblich C nicht gedrückt ist. Anfangs dachte ich dass es daran liegt dass ich die "Shift" Taste zuerst drücke und somit kein "kleines c" sondern ein "großes C" signalisiert wird wenn ich "C" drücke. aber die Tastenkombination Shift + C + Strg funktioniert auch. also kann es an dem "großen C" nicht liegen. wisst ihr an was es liegen könnte? wär echt super. danke swordmaster
  14. ist jetzt nur so eine vermutung, aber überschreib mal die OnOK() Methode bei Untergeordnetem Dialog. ich hatte mal ein ähnliches problem bei einem TabCtrl(die verwenden ja auch untergeordnete Dialoge). also einfach virtual void OnOK(){}; in die Header Datei einfügen. Probiers einfach mal. Ciao Stefan
  15. Hallo Leute, ich möchte bei meinem pc eine kleine sprachsteuerung einrichten. muss nichts großes sein. also nicht gleich das ganze windows steuern. mir würde es reichen wenn ich bestimmte befehle aufnehmen könnte, und wenn ich diese befehle dann spreche auch bestimmte programme gestartet werden würden. Hab schon gegooglt. Natürlich findet man massenweise tools, hab auch schon viele ausprobiert, aber so richtig überzeugt hat mich keins. Falls ihr Sprachsteuerung bei euch verwendet, welche Software verwendet ihr da? Wär toll wenn ich ein paar Empfehlungen bekommen könnte . Danke SwordMaster
  16. hmmm geht das nicht eventuell auch anders? das bitmap wird zur Laufzeit erstellt (u.a. Screenshots). und da ists doch irgendwie komisch wenn ich es zuerst - abspeichern - binär öffnen - versenden - den empfangen string wieder als *.bmp abspeichern - und dann wieder öffnen muss. Ciao SwordMaster
  17. Hallo Leute, ich möchte ein Bitmap über das Netzwerk verschicken. Hab schonmal ein kleinen chat geschrieben. in dem wurden aber nur strings verschickt. ich möchte gerne CAsyncSocket verwenden. weiß aber nicht genau was ich der Send Funktion übergeben muss. Mein Bitmap hät ich als "HBITMAP". aber das werd ich ja nicht direkt verschicken können oder? weil das handle ist ja nur auf meinem rechner gültig. könnt ihr mir ein paar denkanstöße geben? :-) Danke SwordMaster
  18. nein das Create von der Klasse CWnd erwartet auch ein CWnd* als neuen Parent. deshalb wäre this normalerweise schon richtig. aber auch die API-Methode die ein handle erwartet: also: ::SetParent(dialog->m_hWnd,m_hWnd); funktioniert nicht ich verstehs nicht..... (
  19. mal eine Frage, wenn ich mir zum Beispiel mit FindWindow das handle eines Fensters von einem bestimmten Programm suche. und dann EnumChildwindows aufrufe. bekomme ich dann diese Kinder immer in der gleichen Reihenfolge? wenn ich meinen Rechner neustarte, und nochmal mit FindWindow das Hauptfenster dieses programms suche und dann mit EnumChildWindows die kinder hole, kriege ich sie dann auch wieder in der gleichen reihenfolge wie im ersten durchlauf? Falls es jemand weiß bitte melden :-)
  20. Hallo Leute, wenn ich einen dialog mit dem "Stiel" "untergeordnet" dialog->Create(IDD_DIALOG1, this); erzeuge, dann ist das neue fenster in meinem "Hauptfenster" eingeschlossen. Mann kann es zwar verschieben, aber halt nicht aus dem Hauptfenster rausschieben (So wie es bei MDI Anwendungen auch ist). Meine Frage, kann ich das nachträglich auch machen? also ich erstelle einen normalen dialog (Stiel: Kontextmenü) mit dialog->Create(IDD_DIALOG1); kann ich dann nachträglcih das fenster noch "einschließen"? Ich scheitere schon am nachträglichen SetParent. dialog->SetParent(this); hier hängt sich das Programm vollständig auf und regiert nicht mehr Nach dem SetParent müßte ich vermutlich mit ModifyStyleEx den Stiel dynamisch auf "untergeordnet" setzen. Seh ich das richtig?
  21. danke für deine schnelle antwort. zwei zeilen sind zwar wirklich etwas wenig. aber eine überlegung ist es wert! danke!... sag mal meinst du ob man mit dieser software auch selbst text eingeben kann der dan angezeigt wird? ich möchte mir ein programm schreiben was dann bestimmte daten an diese software sendet, und dann den text anzeigt. aber wenn ich mit dieser software nur einstellen kann. - festplattengröße - cpu auslastung... etc... dann bringt es mir fast nichts.
  22. hmm die idee ist gut, daran hab ich gar nicht gedacht. ich kann zwar auf meiner grafikkarte zwei monitore anhängen, aber ich hab bereits meinen fernseher als zweiten monitor drangehängt. und von meinem "Fernsehmonitor" möcht ich mich ungern trennen. also fällt die idee erst mal flach! aber danke für deine schnelle antwort. Edit: ach ja diese zweilenweisen Hell-Dunkel displays hab ich gemeint.
  23. Hallo Leute, Ich frag mich schon seit längeren ob es lcd displays für computer gibt?. WEnn ich jetzt z.b. bestimmte sachen im auge behalten will ohne den ganzen tag den monitor laufen zu lassen. hab schon von leuten gehört die sich so lcd displays gekauft haben und dann selbst so ne platine "gebastelt" haben. aber da ich im basteln noch nie gut war , wollte ich mal fragen ob es evtl eine fertig lösung irgendwo zum kaufen gibt. Hab im Internet gesucht, finde aber nur lcd displays die mir den status des lüfters oder so anzeigen. ich möchte aber per progamm selbst entscheiden was mir angezeigt wird :-). falls jemand was weiß, schreibts mir bitte. danke swordmaster
  24. tja, geändert und schon gehts... und wieder mal :uli vielen dank.
  25. Hallo Leute. ich habe in einer DLL folgende Funktion extern "C" __declspec(dllexport) CDialog** GetDialog( ) { CDialog* dialogs[1]; dialogs[0] = new CColorDialog; return dialogs; } in meinem projekt rufe ich die funktion so auf: HINSTANCE m_hHookDll; if(!(m_hHookDll = LoadLibrary("C:\\WinLab\\DynamicTab\\Debug\\DynamicTab.dll"))) MessageBox("failed"); typedef CDialog** (*GetDialog)( ); GetDialog my2; my2 = (GetDialog)GetProcAddress(m_hHookDll,"GetDialog"); CDialog** test = my2( ); test[0]->DoModal(); aber bei test[0]->DoModal(); stürzt mein programm ab!! Ich benutze CDialog** weil ich in der DLL Funktion auch mehrere "Dialoge" zurückgeben will... Definiere ich diese funktion direkt in meinem Projekt (und nicht in einer dll) funktioniert es. aber wenn ich sie aus einer dll lade, funktioniert es nciht. könnt ihr mir helfen??

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...