Zum Inhalt springen

SwordMaster

Mitglieder
  • Gesamte Inhalte

    445
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von SwordMaster

  1. Hallo Zusammen Ich bräuchte ein Ereigniss was aufgerufen wird wenn ich die größe eines Fensters ändere. In diesem Ereigniss müsste ich dann die Alte u. die neue Fenstergröße rauskriegen. Ich habs schon mit WM_SIZE und WM_SIZING probiert. aber irgendwie komm ich grad nicht weiter Ich krieg doch bei beiden Ereignissen die neue größe mit. Die Alte/Ursprüngliche Größe wollte ich dann mit GetClientRect/GetWindowRect ermitteln. Aber ich komm immer auf die gleichen größen wie ich sie bei WM_SIZE und WM_SIZING eh schon mitbekomme?! Brauch ich evtl ein anderes Ereigniss? Oder wie kann ich sowohl an die Alte als auch an die neue größe kommen? :confused: Wäre toll wenn mir jemand helfen könnte. Gruss Stefan P.S. Falls es einen Unterschied macht, ich verwende MFC u. Visual Studio 6.0.
  2. Mann es funktioniert. Des ist genial! Vielen Dank! :uli P.S. mittlerweile weiß auch welches fenster das WM_COMMAND abkriegt wenn man das Kontextmenü verwendet. Es ist das 4te Parent Fenster. Class: SHELLDLL_DefView Aber über das Menü tu ich mich natürlich etwas leicher :-).
  3. Ich werds testen. Danke für den Tipp. :floet: Hät ich eignetlich auch vermutet gehabt. Hab aber keine WM_COMMAND gesehen. ich werds nochmal Testen. Kriegt direkt das ListCtrl die WM_COMMAND nachricht? Oder das übergeordnete fenster? Oder direkt das Oberste Fenster=Ordnerfenster? Gibt es eigneltich ein Programm wie Spy++ was die nachrichten protokolliert. Und diese auch erneut per "SendMessage" senden kann? Ich hab öfter mal ein paar Nachrichten wo ich nich weiß welche die richtige ist. In solchen fällen wäre es cool wenn man die Nachrichten einzeln erneut senden könnte, dann würde man schnell sehen welche nachricht das gewünschte ergebnis erzielt. Vielen Dank für die Schnelle Antwort. Gruss Stefan
  4. Hallo Zusammen. Ich habe folgendes Problem Ich hab einen Ordner von Windows offen. (ein ganz normaler ordner, der dateien enthält). Ein Ordner kann ja in XP mehrere Ansichten haben. (Miniaturansicht, Kacheln, Symbole, Liste, Details). Ich möchte diese Ansicht ändern. z.B. von Kacheln in Symbole. Ich habe mittlerweile ein HWND auf das Ordnerfenster, und auch direkt auf das ListCtrl was die dateien anzeigt. Mein erster Versuch war es den Style mittels ModifyStyle( LVS_ICON, LVS_REPORT, 0 ); zu ändern. Der Erfolg hat sich in Grenzen gehalten. Ich kann zwar teilweise die Ansichten wechseln. (z.B. kann ich in "Detail Ansicht" wechseln. Aber nicht in die "Symbolansicht"). Zum Anderen liefert (GetStyle() & LVS_TYPEMASK) teilweise nicht die korrekten werte. und zeigt z.b. Symbolansicht als LVS_SMALLICON etc an. Auch im Kontextmenü ist der Hacken bei Ansichten nicht auf der neuen Ansicht. => Versuch 2. Ich habe versucht mit Spy++ (von Visual Studio 6.0) herauszufinden welche Nachricht ausgelöst wird, wenn ich im Kontextmenü die ansicht wechsle. Jedoch weiß ich nicht wonach ich ungefähr suchen muss. Könnt ihr mir evtl sagen wie ich die Ansichtn eines Ordnerfensters ändern kann?
  5. Hallo Zusammen. Ich möchte mir den neuen Aldi PC (der Donnerstag in die Läden kommt) kaufen. Generell halte ich das Angebot für den Preis ganz gut. Mir ist bewußt dass sich da die Meinugen teilen.... Ich hätte nur eine Frage. Meint ihr ob es zu den Komponenten auch passende Windows XP Treiber gibt? Ich habe mir vor kurzem noch eine Windows XP Lizenz zugelegt und möchte auf meinem Neuen Rechner vorerst Windows XP und Vista gleichzeitig installieren. Den PC könnt ihr auf der neuen www.aldi-süd.de Homepage anschaun. Irgendwo im Web hab ich folgendes Bild mit genaueren Angaben gefunden. http://www.medion-fotoalbum.de/mediapool02_aldi_s/AF/C5/2D/50/30/AE/11/DC/AE/F4/0F/92/4D/0A/1E/74/oma/10/FEA0D330D23311DC80120DEF4D0A455B.jpg Evtl hat ja jemand den letzten aldi pc gekauft. Meines Wissens sollte er der gleiche sein, nur dass das Blue Ray Disc Laufwerk weggelassen wurde... Es wäre toll wenn ihr mir helfen könntet. Viele Grüße Stefan
  6. Hallo Zusammen, ich möchte gerne einen kleinen Dialog (incl. TreeCtrl) erstellen. Ein TreeCtrl kann ich schon auf einem dialog erstellen ohne den ResourcenPainter zu verwenden. Jedoch habe ich es immernoch nicht geschafft einen Dialog ohne Resource Dynamisch zu erstellen. Wie stellt man das am Besten an? Weiß jemand evtl ein Beispielprojekt was einen Dialog (mit CDialog) ohne resourcen erstellt? Ich habe schon bei Codeguru gesucht aber auch nichts entsprechendes gefunden . Kann mir jemand helfen? Ich würde also schon gerne eine klasse von CDialog ableiten. und Methoden wie WindowProc überschreiben um auf meine Events (des TreeCtrl) zu reagieren. Viele Grüße Stefan
  7. Hi Klotzkopp Ich war schon ein paar jährchen nichtmehr aktiv. Aber schön dass ihr die schnelle reaktionszeit beibehalten habt :-). Bald werde ich mir einen neuen PC (mit Vista) kaufen. Spätestens dann werde ich mich mal um eine neuere version von VS umsehen müssen. Aber was man gewöhnt ist gibt man halt ungern her :-). Ich habs jetzt ausprobiert, funktioniert auch soweit schon ganz gut. Vielen Dank std::map<char *,int> paar; paar["Key"] = 1; paar["Key2"] = 16; Jedoch bekomme ich ein 7 Warnungen.... z.B. C:\WinLab\ForeignEditor\ForeignSkriptParser.cpp(111) : warning C4786: 'std::reverse_bidirectional_iterator<std::_Tree<char *,std::pair<char * const,int>,std::map<char *,int,std::less<char *>,std::allocator<int> >::_Kfn,std::less<char *>,std::allocat or<int> >::iterator,std::pair<char * const,int>,std::pair<char * const,int> &,std::pair<char * const,int> *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert Weißt du evtl ob/was ich falsche mache? Viele Grüße Stefan
  8. Hallo Nightfall. Ich verwende zwar eine ältere Version von Visual Studio, aber normalerweise sollte sich da nichts verändert haben. Du kannst in deiner Dialogklasse (des dynamischen Dialogs) die WindowProc überschreiben. Die WindowProc bekommt nachrichten wie "buttonklicks" mit. Beispielcode: LRESULT CForeignEditorDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { if ( HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_ID ) CDialog::OnOK( ); return CDialog::WindowProc(message, wParam, lParam); } IDC_ID ist die ID deines Buttons. Ich hoffe das hilft dir Weiter. Viele grüße Stefan
  9. Hallo Zusammen, ich suche nach einer Möglichkeit Arrays mit String- Schlüsseln zu verwenden. Also nicht array[1] = "abc". sondern array["abc"] = 1. Am bestern wärs wenn ich nicht nur Integer sondern auch Strings oder HWNDs verwalten kann. Ein bekannter meinte es gäbe eine Hash Table der stl. Aber irgendwie bekomme ich das ganze nicht zum laufen. Ich verwende Visual Studio 6.0. Bisher hab ichs mit #include <ext/hash_map> oder #include "map.h" versucht. Immer kann VS die Include Datei nicht finden. Muss ich dazu noch irgend ein SDK zusätzlich installieren? Ist mein Visual Studio evtl doch schon zu alt? Oder was mache ich falsch? Viele Grüße Stefan
  10. Hallo zusammen. ich suche für meinen Laptop eine Externe TV Karte (per USB anschließbar). die ich sowohl benutzen kann wenn ich einen Kabel Empfang habe, als auch wenn ich eine Satelitenschüssel besitze. Gibt es sowas für einen einigermaßen normalen Preis? Wäre echt super wenn mir da jemand eine solche sagen könnte. leider finde ich nur immer welche die entweder Kabel, oder Satellit haben. DVB-T kommt für mich leider nicht in Frage da es bei mir derzeit sowieso noch nicht verfügbar ist. Würde mich sehr über Tipps Freuen. Viele Grüße SwordMaster
  11. Hallo zusammen, Lidl bekommt ja demnächst (01.03) eine NDAS Festplatte mit 400 gb :-). Da ich sowieso schon länger eine Festplatte im Netzwerk verfügbar machen will, wollte ich mal nachfragen was ihr von dem Angebot haltet. (Könnt ihr euch ja an der Lidl Homepage genauer anschaun). Was mir wichtig wäre ist, ob die Festplatte eine Benutzerverwaltung hat. Damit ich bestimmten Usern z.b. nur "Leserecht" und anderen Usern "Schreibrecht" geben kann. Bzw. ob ich evtl sogar ganze Verzeichnisse verstecken kann? Wie greift man denn auf diese NDAS Festplatte zu? schon per FTP oder? Und was auch noch interressant wäre, kann ich die Festplatte per LAN-Kabel ans Netzwerk hängen u. gleichzeitig per USB 2.0 an meinen Hauptrechner hängen (damit ich ne bessere Geschwindigkeit hab). Oder geht nur jeweils eins von beiden? Vielen dank für eure Hilfe SwordMaster
  12. Hallo Ich bin auf der Suche nach einem IR Sender für den PC. damit ich über den PC meine HiFi Anlage, Videorecorder und TV etc steuern kann. Bisher hab ich nichts passendes gefunden, nur wo man sich selbst etwas zusammenlöten muss oder amerikanische Seiten wo dann vermutlich der Versand entsprechend hoch wäre... Sowas muss es doch auch hierzulande fertig zu kaufen geben oder? Wäre echt super wenn mir jemand einen Anbieter empfehlen könnte. Vielen Dank im Vorraus P.S. ja ich weiß dass man Musik oder Filme direkt am PC anschaun kann... Also braucht das auch niemand vorschlagen .
  13. welch toller beitrag.... wenn ich das tun wollte hätte ich diesen eintrag nicht verfasst. ich möchte eben von der Couch aus den Monitor ausschalten. Ciao Stefan
  14. Hallo Leute, ich habe meinen Fernseher an der Grafikkarte als zweiten Monitor angeschlossen. Und sehe mir da öfter mal DVDs an. Wenn ich also dann auf der couch den film ansehe, schalte ich meinen 1ten Monitor aus. Mich würde interressieren ob das auch Per software geht dass ich meinen ERSTEN Monitor per Softwar auf Stand By Schalten kann. Ich habe schon solche Tools gefunden, und das ganze funktioniert auch. Das Problem ist dass dann beide Monitore (also Monitor+Fernseher) auf Stand By gehen. Ich möchte aber nur einen der beiden auf Stand By schicken. Ist sowas generell möglich? Und kennt ihr evtl so ein Tool??? Viele Dank Stefan
  15. Hallo, Also ich habe das damals mal in c++ gemacht. Die ODBC Sachen sind in der Registry gespeichert. Ich habe per c++ einfach die Registry einträge erzeugt und schon war der ODBC Treiber vorhanden. Evtl versuchst dus mal so. Ob es in Visual Basic jetzt einen "CreateODBC" methode oder so gibt, weiß ich jetzt allerdings nicht. aber wenn du wissen willst welche Registry einträge du schreiben musst, die könnte ich dir schicken... MFG SwordMaster
  16. Hallo Leute, vor ca. 2 wochen funktionierte mein 2fach dvd brenner plötzlich nciht mehr. Beim Lead Out hat nero immer mit einem fehler abgebrochen.... Also hab ich nero neuinstalliert, hat nichts gebracht, also hab ich windows neuinstalliert. brenner hat 6 dvds erfolgreich gebrannt dann kam wieder der gleiche fehler. also hab ich mir gedacht, evtl hat der brenner einfach seine guten tage hinter sich (war scho a älteres teil) und hab mir einen neuen brenner gekauft. LG GSA-4167B (16 fach dvd brenner). und schon gings wieder. und jetzt fängt auch dieser plötzlich zum motzen an. Hier mal das Protokol das ich bekomme. Ich bin am Verzweifeln, habt ihr ne idee an was das noch liegen könnte?! 1A23-0006-7130-1234-5678-4475 Windows XP 5.1 IA32 WinAspi: - ahead WinASPI: File 'C:\Programme\Ahead\Nero\Wnaspi32.dll': Ver=2.0.1.59, size=160016 bytes, created 11.11.2003 14:49:52 Nero API version: 6.3.0.0 Using interface version: 6.3.1.4 Installed in: C:\Programme\Ahead\Nero\ Application: ahead\Nero - Burning Rom Recorder: <HL-DT-ST DVDRAM GSA-4167B>Version: DL11 - HA 1 TA 1 - 6.3.0.0 Adapter driver: <atapi> HA 1 Drive buffer : 2048kB Bus Type : via Inquiry data (1) -> ATAPI, detected: ATAPI Connected to MMC as unknown drive with class-nr : 1 Drive is autodetected - recorder class: Std. MMC recorder === Scsi-Device-Map === DiskPeripheral : WDC WD1200BB-00CAA1 atapi Port 0 ID 0 DMA: On CdRomPeripheral : TOSHIBA DVD-ROM SD-M1712 atapi Port 1 ID 0 DMA: On CdRomPeripheral : HL-DT-ST DVDRAM GSA-4167B atapi Port 1 ID 1 DMA: On CdRomPeripheral : AXV CD/DVD-ROM 2.2a axsaki Port 2 ID 0 DMA: Off === CDRom-Device-Map === TOSHIBA DVD-ROM SD-M1712 H: CDRom0 HL-DT-ST DVDRAM GSA-4167 I: CDRom1 AXV CD/DVD-ROM K: CDRom2 ======================= AutoRun : 1 Excluded drive IDs: CmdQueuing : 1 CmdNotification: 2 WriteBufferSize: 74448896 (0) Byte ShowDrvBufStat : 0 EraseSpeed : 0 BUFE : 0 Physical memory : 511MB (523760kB) Free physical memory: 229MB (235264kB) Memory in use : 55 % Uncached PFiles: 0x0 Use Static Write Speed Table: 0 Use Inquiry : 1 Global Bus Type: default (0) Check supported media : Disabled (0) 3.7.2006 NeroAPI 22:13:24 #1 Phase 112 File APIProgress.cpp, Line 250 DVD-Video files reallocation started 22:13:24 #2 Phase 114 File APIProgress.cpp, Line 250 DVD-Video files reallocation completed (no file modified) 22:13:24 #3 Phase 111 File APIProgress.cpp, Line 250 DVD-Video files sorted 22:13:24 #4 Text 0 File Reader.cpp, Line 118 Reader running 22:13:24 #5 Text 0 File Writer.cpp, Line 124 Writer HL-DT-ST DVDRAM GSA-4167B running 22:13:24 #6 ISO9660GEN -11 File geniso.cpp, Line 3882 First writeable address = 0 (0x00000000) 22:13:24 #7 ISO9660GEN -11 File geniso.cpp, Line 3882 First writeable address = 0 (0x00000000) 22:13:24 #8 Text 0 File Burncd.cpp, Line 3094 Turn on Disc-At-Once, using DVD media 22:13:24 #9 Text 0 File DlgWaitCD.cpp, Line 239 Last possible write address on media: 2298495 (510:46.45) Last address to be written: 2286079 (508:01.04) 22:13:24 #10 Text 0 File DlgWaitCD.cpp, Line 244 Write in overburning mode: FALSE 22:13:24 #11 Text 0 File DlgWaitCD.cpp, Line 2068 Recorder: HL-DT-ST DVDRAM GSA-4167B, Media type: DVD-R Disc Manufacturer: CMC MA - G. AE1 Disc Application Code: 64, Disc Physical Code: 193 22:13:24 #12 Text 0 File DlgWaitCD.cpp, Line 405 >>> Protocol of DlgWaitCD activities: <<< ========================================= 22:13:24 #13 Text 0 File ThreadedTransferInterface.cpp, Line 779 Setup items (after recorder preparation) 0: TRM_DATA_MODE1 (CTransferItem) 2 indices, index0 (150) not provided original disc pos #0 + 2286080 (2286080) = #2286080/508:1.5 relocatable, disc pos for caching/writing not required/required, no patch infos -> TRM_DATA_MODE1, 2048, config 0, wanted index0 0 blocks, length 2286080 blocks [HL-DT-ST DVDRAM GSA-4167B] -------------------------------------------------------------- 22:13:24 #14 Text 0 File ThreadedTransferInterface.cpp, Line 948 Prepare recorder [HL-DT-ST DVDRAM GSA-4167B] for write in CUE-sheet-DAO DAO infos: ========== MCN: "" TOCType: 0x00; Session Closed, disc fixated Tracks 1 to 1: 1: TRM_DATA_MODE1, 2048/0x00, FilePos 0 0 4681891840, ISRC "" DAO layout: =========== __Start_|____Track_|_Idx_|_RecDep_|_CtrlAdr_ 0 | lead-in | 0 | 0x00 | 0x41 0 | 1 | 0 | 0x00 | 0x41 0 | 1 | 1 | 0x00 | 0x41 2286080 | lead-out | 1 | 0x00 | 0x41 22:13:24 #15 Phase 24 File APIProgress.cpp, Line 250 Caching of files started 22:13:24 #16 Text 0 File Burncd.cpp, Line 4061 Cache writing successful. 22:13:24 #17 Phase 25 File APIProgress.cpp, Line 250 Caching of files completed 22:13:24 #18 Phase 36 File APIProgress.cpp, Line 250 Burn process started at 4x (5.540 KB/s) 22:13:24 #19 Text 0 File ThreadedTransferInterface.cpp, Line 2264 Verifying disc position of item 0 (relocatable, disc pos, no patch infos, orig at #0): write at #0 22:13:24 #20 Text 0 File DVDR.cpp, Line 1424 Recording mode: Sequential Recording Mode 22:13:24 #21 Text 0 File Mmc.cpp, Line 19397 Set BUFE: supported -> ON 22:13:24 #22 Text 0 File DVDR.cpp, Line 1539 Start write address at LBA 0 DVD high compatibility mode: Yes 22:13:24 #23 Text 0 File Cdrdrv.cpp, Line 7912 ---- DVD Structure: Physical Format Information (00h) ---- Layer: 0, Address: 0 (0 h), AGID: 0; Length: 2050 Book Type: DVD-R (2), Part Version: 5 Disc Size: 120 mm, Maximum Rate: <not specified> (F h) Number of Layers: 1, Track Path: Parallel Track Path (PTP), Layer Type: recordable Linear Density: 0,267 um/bit, Track Density: 0,74 um/track Starting Physical Sector Number of Data Area: 30000 h (DVD-ROM, DVD-R/-RW, DVD+R/+RW) End Physical Sector Number of Data Area: 26127F h End Sector Number in Layer 0: 0 h Data in Burst Cutting Area (BCA) does not exist Media Specific: 30 00 10 20 00 00 00 00 - 00 00 00 00 00 00 00 00 0............... 02 FE 10 00 02 FF A0 00 - 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................ 22:13:36 #24 Text 0 File Cdrdrv.cpp, Line 1276 22:13:36.562 - HL-DT-ST DVDRAM GSA-4167B\H1 T1 : Queue again later 22:26:55 #25 SCSI -1064 File Cdrdrv.cpp, Line 1430 SCSI Exec, HA 1, TA 1, LUN 0, buffer 0x01490000 Status: 0x04 (0x01, SCSI_ERR) HA-Status 0x00 (0x00, OK) TA-Status 0x02 (0x01, SCSI_TASTATUS_CHKCOND) Sense Key: 0x05 (KEY_ILLEGAL_REQUEST) Sense Code: 0x21 Sense Qual: 0x02 CDB Data: 0x2A 0x00 0x00 0x1F 0xDF 0x80 0x00 0x00 0x20 0x00 0x00 0x00 Sense Data: 0x70 0x00 0x05 0x00 0x00 0x00 0x00 0x10 0x2A 0x00 0x00 0x0C 0x21 0x02 22:26:55 #26 CDR -1064 File Writer.cpp, Line 301 Invalid block address 22:26:55 #27 Text 0 File ThreadedTransfer.cpp, Line 229 all writers idle, stopping conversion 22:26:55 #28 Text 0 File ThreadedTransfer.cpp, Line 223 conversion idle, stopping reader 22:26:55 #29 Text 0 File DVDR.cpp, Line 1743 EndDAO: Last written address was 2088831 22:26:55 #30 Phase 38 File APIProgress.cpp, Line 250 Burn process failed at 4x (5.540 KB/s) Existing drivers: Registry Keys: HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\AllocateCDROMs : 0 (Security Option) hoffe jemand hat ne idee. vielen dank!!! SwordMaster
  17. Hallo Leute. ich habe bei meiner Grafikkarte (ATI Grafikkarte 9500) meinen TV über den S-Video eingang als zweiten monitor angeschlossen. Un ddas ganze funktioniert auch immer prima. nur heute habe ich es irgendwie geschaft den treiber kaput zu machen. . Am TV Seh ich alles nur noch in Grau tönen und nicht mehr in schwarz. Egal was ich einstell. 32bit, 16 bit. immer nur grautöne . an den kabeln kanns nicht liegen gestern hat noch alles funktioniert. Treiber hab ich schon neu installiert. und dennoch nur grautöne! Habt ihr noch ne idee was ich noch anstellen könnte? oder muss ich jetzt tatsächlich mein windows neu installieren :-( falls ihr noch tipps habt. wär ich sehr dankbar! mfg swordmaster
  18. Hallo, ich wollte mich nur mal erkundigen ob es für Notbooks externe Akkus gibt. Die Man an den Netz-Anschluß des Notbooks anstecken könnte, wenn der Standard-Akku wiedermal leer ist. Gibt es sowas? Wenn ja, wo? und was haltet ihr davon? Denke sowas wäre ganz praktisch für Längere Bus/Zug Fahrten. stefan
  19. Hallo Leute, ich habe das Blootooth headset "B-Speech Ellect". leider hab ich hierfür die Bedienungsanleitung verlegt :-( :-(. hab das ding schon lange nicht mehr verwendet. und heute wollte ich es mal wieder mit meinem PC verbinden. Jetzt muss ich aber am PC den Blootooth PIN-CODE eingeben. Da mein Headset jedoch nur 2 tasten hat weiß ich nicht wie ich den PIN-CODE am headset festlegen kann. Weiß jemand evtl wo ich die bedienungsanleitung nochmal herkriege? hab bereits im internet gesucht aber auch auf der seite www.b-speech.de liegt keine Bedienungsanleitung... Evtl weiß von euch jemand rat! Vielen Dank für eure hilfe. Stefan
  20. Hallo Leute, ich suche ein Programm, wo ich bestimmte Aufgaben/Notizen erfassen kann. z.b. "Achtung! ... nicht vergessen" und wenn ich den Rechner dann herunterfahre, unterbricht er das herunterfahren und errinnert mich an meine notizen, und wenn ich dann auf Abbrechen klicke, wird der Shutdown direkt abgebrochen, und bei "Weiter" wird der rechner dann wirklich heruntergefahren. Kennt jemand so ein tool?? MFG SwordMaster
  21. Da hast du natürlich recht. aber das Programm werde nur ich verwenden. und ich MÖCHTE auch dass der markierte teil in der zwischenablage landen, nur dass noch zusätzlicher quellcode ausgeführt wird. Ja die Tastenkombination erkenne ich bereits richtig. und der hook funktioniert. Habs einmal ganz einfach getestet in dem ich einfach "MessageBox" in meinem hook geschrieben habe. und dann erschien die messagebox immer bei strg+1. also der hook, läuft einwandfrei. nein ich lege beim Down-Event los. => hast recht, Strg müßte noch gedrückt sein. Ja sowas in der Art hab ich mir gedacht. Das Strg+C liegt also in der Warteschleife bis ich mein Strg+1 abgearbeitet habe.... Die frage ist, kann ich wärend ich im Strg+1-hook bin, diese Warteschleife abarbeiten lassen? ich habe mal sowas ähnliches in einem anderen programm gehabt. da konnte ich mit while(PeekMessage(&msg, NULL, 0,0,PM_NOREMOVE)) AfxGetApp()->PumpMessage(); die Warteschleife meines eigenen programms abarbeiten. Aber gibt es sowas auch für mein jetziges problem? die events landen zwar im hook, aber der hook reagiert nur bei Strg+1 und hat keinen quellcode oder so für Strg+C. Das lasse ich ganz normal vorbei...
  22. weil ich nicht weiß was gerade markiert ist. Die Tastenkombination gilt systemweit. Man kann sich also theoretich im MSPaint, Word, Editor oder in irgendwelchen anderen X-Beliebigen Programmen befinden. und wenn ich die Daten selbst in die Zwischenablage kopieren würde, müsste ich ja immer erst herrausfinden welche Anwendung gerade läuft, und welche daten Markiert sind.... usw. :-(
  23. Hallo Leute. Ich hab mittels SetWindowsHookEx einen Keyboard Hook.... Das ganze funktioniert auch schon perfekt... Jetzt möchte ich bei einer Bestimmten Tastenkombination (z.B. Strg + 1) die Markierten Daten in den Zwischenspeicher kopieren (also das gleiche wie bei Strg+C) und dann gleich danach noch einen bestimmten quellcode ausführen. also hätte ich folgendes bei der Tastenkombination Strg + 1 versucht keybd_event(17, 0, 0, 0); // Strg down keybd_event(67, 0, 0, 0); // c down keybd_event(17, 0, 0x02, 0); // Strg up keybd_event(67, 0, 0x02, 0); // c up <-- und hier dann noch zusätzlichen Quellcode. Das Problem ist dass die keybd_events irgendwie erst später abgehandelt werden! (also nach meinem zusätzlichen Quellcode) Ich denke, dass es daran liegt, weil ich ja zu dem zeitpunkt noch mitten in der Behandlung von "Strg" + "1" bin. Also liegt das simulierte Strg+c in einer art warteschleifen... Habt ihr eine Lösung für mich?
  24. Hallo Leute. ich möchte die Daten die im Clipboard (Windows Zwischenablage) gespeichert sind, holen und in meinem programm zwischnespeichern (in globalen variablen).... damit ich die daten zu einem späteren zeitpunkt wieder in den Clipboard schreiben kann. könnt ihr mir sagen wieso folgender Quellcode zum beispiel nicht funktioniert?? struct mystruct { UINT format; HGLOBAL speicher; }mystruct1; mystruct *Clipboard = new mystruct[CountClipboardFormats()]; mystruct line; int i=0; ::OpenClipboard(m_hWnd); line.format = 0; do { //Clipboard Daten holen und in "Clipboard" speichern line.format = ::EnumClipboardFormats(line.format); if ( line.format != 0) { line.speicher =::GetClipboardData(line.format); Clipboard[i++] = line; } }while ( line.format != 0 ); ::CloseClipboard(); ::OpenClipboard(m_hWnd); //Gesamtes Clipboard löschen ::EmptyClipboard(); //Und hier sollten eigneltich die Daten wieder reingeschrieben werden for (int j=0;j<i;j++) { SetClipboardData(Clipboard[j].format,Clipboard[j].speicher); } ::CloseClipboard(); hoffe jemand kann mir helfen! denn was ich so im debugger sehe, schreibt er eigneltich den richtigen inhalt zurück. Manchmal läuft er erfolgreich durch. jedoch steht dann irgendwelcher käse im zwischenspeicher. und manchmal bricht er mit einem komischen Speicherfehler ab. Oder brauch ich evtl einen ganz anderen Ansatz? Danke SwordMaster
  25. hallo Danke für die schnelle Antwort, aber ich glaube das hilft mir nicht direkt weiter.... so definiere ich derzeit meine variablen: #pragma data_seg(".HOOKDATA") HHOOK hook = NULL; HWND handle = NULL; HWND handles[10]; #pragma data_seg() #pragma comment(linker, "/SECTION:.HOOKDATA,RWS") wenn ich jetzt etwas in die "handle" variable schreibe kann ich auch in der "HookProc" Funktion zugreifen (obwohl diese in einem anderen prozess aufgerufen wird). aber wenn ich etwas in das Array schreibe, dann kann ich nicht mehr darauf zugreifen. obwohl das Array ja auch in der #pragma section definiert wird?!? kannst du mir sagen was ich noch falsch mache? P.S. das ich im ersten thread ein array mit nur einem element hatte, war ein tippfehler. natürlich ist das array größer. aber so oder so. sobald ich werte in ein array schreibe (ob es jetzt größer als ein element ist oder nicht) kann ich nicht mehr darauf zugreifen .

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...