Zwischenablage
-
Nein, da macht cin etwas "falsch" - es liest nur bis zum ersten Whitespace-Zeichen.
Schau dir die Funktion std::getline() an! (Achtung nicht: cin.getline()!).
MfG SideWinder
-
danke, funktioniert hervorragend
mfg Shark
-
kann ich dieses beispiel auch irgendwie dazu verwenden etwas aus der ZWischenablage in die Konsole einfügen??? Wenn ja, bitte ich um eine Antwort
mfg Shark
-
Sowas findet man um einiges schneller wenn man gleich selbst in der MSDN nachschlägt - gibts ja auch Online :).
GetClipboardText() dürfte es sein - gleich mal ne Anmerkung: Meistens gibts in der WinAPI zu allen SetXXX() auch ein GetXXX() ;).
MfG SideWinder
-
äm danke, doch muss ich jetzt nur statt SetClipboardText() GetClipboardText() nehmen?? blick da irgendwie nicht ganz durch...
mfg Shark
-
Am besten suchst du jetzt mal nach GetClipboardText() in der Online MSDN. Da dürftest du die Syntax finden und dann dürfte es eigentlich kein Problem mehr sein
-
hmmm... es ist kein GetClipboardText() in der MSDN bekannt?!?!
mfg Shark
-
LOL, was es doch für unterschiede bei den Codes gibt - Ich probier's auch mal aus
-
@shark
Aber SetClipboardText() schon, oder? Da dürfte dann normalerweise auch das Gegenstück als Verweis da sein *hoffe*.
-
Die API Funktion heißt SetClipboardData
-
Aahhh darin liegt der Hund begraben
-
??? wer kann mich da mal aufklären??
Weiß jemand zumindest zu welche headerdatei GetClipboardText() gehört??
und gibt es irgendwo auch ein deutsches MSDN??mfg SHark
-
windows.h
Die Funktion heißt allerdings GetClipboardData.
SetClipboardText ist doch eine selbstgeschriebene Funktion.
-
Wusst ichs doch das es etwas komplizierter sein muss als einfach die Daten an die WinAPI zu verschicken *g*.
Nein es gibt keine MSDN - sie ist zwar zT eingedeutscht (kannst dir kaufen), aber immer noch nicht vollständig. Und gerade was die WinAPI betrifft hast du weiterhin viel mit der englischen Sprache zu tun.
MfG SideWinder
-
Nein es gibt keine MSDN
-
Keine MSDN in deutsch :p
MfG SideWinder
-
Ich habe jetzt sehr lange gesucht (google) und nichts gefunden! Ich finde immer nur Beispiele wie man etwas in der Konsole in die ZWischenablage kopiert, aber nicht mehr heraus! Naja vieleicht weiß einer von euch wie dass zu schaffen wäre
mfg Shark
-
Dafür hab ich nicht mal 1 Minute gebraucht.
-
jo aber beim beispiel steht auch nur wie man einen einen text in die zwischenablage kopiert! und wenn ich das bsp ausprobiere kommen nur fehler
mfg Shark
-
Auszug aus der Online MSDN.
VOID WINAPI EditPaste(VOID) { PLABELBOX pbox; HGLOBAL hglb; LPTSTR lptstr; PLABELBOX pboxCopy; int cx, cy; HWND hwnd; pbox = hwndSelected == NULL ? NULL : (PLABELBOX) GetWindowLong(hwndSelected, 0); // If the application is in edit mode, // get the clipboard text. if (pbox != NULL && pbox->fEdit) { if (!IsClipboardFormatAvailable(CF_TEXT)) return; if (!OpenClipboard(hwndMain)) return; hglb = GetClipboardData(CF_TEXT); if (hglb != NULL) { lptstr = GlobalLock(hglb); if (lptstr != NULL) { // Call the application-defined ReplaceSelection // function to insert the text and repaint the // window. ReplaceSelection(hwndSelected, pbox, lptstr); GlobalUnlock(hglb); } } CloseClipboard(); return; } // If the application is not in edit mode, // create a label window. if (!IsClipboardFormatAvailable(uLabelFormat)) return; if (!OpenClipboard(hwndMain)) return; hglb = GetClipboardData(uLabelFormat); if (hglb != NULL) { pboxCopy = GlobalLock(hglb); if (pboxCopy != NULL) { cx = pboxCopy->rcText.right + CX_MARGIN; cy = pboxCopy->rcText.top * 2 + cyText; hwnd = CreateWindowEx( WS_EX_NOPARENTNOTIFY | WS_EX_TRANSPARENT, atchClassChild, NULL, WS_CHILD, 0, 0, cx, cy, hwndMain, NULL, hinst, NULL ); if (hwnd != NULL) { pbox = (PLABELBOX) GetWindowLong(hwnd, 0); memcpy(pbox, pboxCopy, sizeof(LABELBOX)); ShowWindow(hwnd, SW_SHOWNORMAL); SetFocus(hwnd); } GlobalUnlock(hglb); } } CloseClipboard(); }
Edit: Code-Tags fehlten