bobneumann Posted May 5, 2009 Posted May 5, 2009 I'm trying to manipulate clipboard data that's in registered format called "Rich Text Format". (I want to do a substitution/replace: Part of the RTF code is "\cf3" and I want to change it to "\cf0") since Rich Text Format is not standard, I can't use clipget. I've gotten far enough to know that I need to refer to the memory contents by its "unsigned integer value", which is returned to me by "_clipboard_registerformat" But from there, how do I return the contents, do my search and replace, and then put my modified info back into the clipboard? Any help or guidance appreciated. Bob expandcollapse popup#include-once #include <Memory.au3> #include <WinAPI.au3> #include<clipboard.au3> $rtf_guid = _clipboard_RegisterFormat ("Rich Text Format") MsgBox(4096,"rtf guid",$rtf_guid) $contents= _clip_board_GetData($rtf_guid) MsgBox(4096,"title",$contents) Func _clip_board_GetData($rtf_guid = 1) Local $hMemory, $tData If Not _clip_board_IsFormatAvailable($rtf_guid) Then Return SetError(-1, 0, 0) If Not _clipboard_Open(0) Then Return SetError(-2, 0, 0) $hMemory = _clip_board_GetDataEx($rtf_guid) MsgBox(4096,"hmemory",$hMemory) _clipboard_Close() If $hMemory = 0 Then Return SetError(-3, 0, 0) ;Experimenting with trying to return the memory contents by converting it to text ;Switch $rtf_guid ;Case $CF_TEXT, $CF_OEMTEXT $tData = DllStructCreate("char Text[2097152]", $hMemory) ;$tData = DllStructCreate("char Text[8192]", $hMemory) ;Return DllStructGetData($tData, "Text") ;Case $CF_UNICODETEXT Return _WinAPI_WideCharToMultiByte($tData) ;Case Else ;Return $hMemory ;EndSwitch EndFunc Func _clip_board_IsFormatAvailable($rtf_guid) Local $aResult $aResult = DllCall("User32.dll", "int", "IsClipboardFormatAvailable", "int", $rtf_guid) Return $aResult[0] <> 0 EndFunc Func _Clip_Board_GetDataEx($rtf_guid = 1) Local $aResult $aResult = DllCall("User32.dll", "hwnd", "GetClipboardData", "int", $rtf_guid) Return SetError($aResult[0] = 0, 0, $aResult[0]) EndFunc
MrCreatoR Posted January 25, 2010 Posted January 25, 2010 I am not the author, but i have a similar issue (extract the content of the clipboard in RTF format), so i thought that since this topic is 6 month old, i will try to bump it a little Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team
Chefito Posted February 12, 2010 Posted February 12, 2010 I am not the author, but i have a similar issue (extract the content of the clipboard in RTF format), so i thought that since this topic is 6 month old, i will try to bump it a little I did something on this subject, but I did not get muchLink of the functionSaludos.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now