throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2008/0148167 A1
`(43) Pub. Date:
`Jun. 19, 2008
`Russak et al.
`
`US 20080148167A1
`
`(54) METHOD FOR COPYING IMAGES
`
`Publication Classi?cation
`
`.
`(75) Inventors.
`
`.
`Zeev Russak, RaAnana (IL), Zeev
`G1 Ozm an’ Te1_AViV (IL)
`
`Correspondence Address:
`Martin D. Moynihan
`PRTSI, Inc.
`R 0_ BOX 16446
`Arlington VA 22215
`’
`(73) AssigneeZ
`
`Orthocrat Ltd” petachqikva (IL)
`
`(21) App1_ NO;
`
`11/640,311
`
`(22) Filed:
`
`Dec. 18, 2006
`
`51) Int. Cl.
`(
`(2006.01)
`G06F 3/048
`(52) US. Cl. ...................................................... .. 715/769
`
`(57)
`
`ABSTRACT
`.
`.
`An apparatus for copymg image data between computer
`applications running under at least one operating system, the
`apparatus comprising: a selector, operable by a user, for
`selecting an object from a computer application, and an image
`data importer, associated With the selector, and con?gured to
`automatically import image data of the selected object into a
`predetermined target computer application, upon the select
`ing
`
`1 1O
`
`120
`
`Selecto r
`
`Image Data Importer
`
`1 60
`
`Image Presenter
`
`V
`
`1 70
`
`Image Data Processor
`
`V
`
`1
`
`Petitioner Samsung 1014
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 1 0f 8
`
`US 2008/0148167 A1
`
`
`
`
`
`howwoooi Ema moms:
`
`P
`
`0:
`
`
`
`houcmwmi mmmg
`
`ow?
`
`662mm
`
`
`
`
`
`hotoQE_ Ema mmmg
`
`oNF
`
`82. w PEwE
`
`2
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 2 0f 8
`
`US 2008/0148167 A1
`
`‘H
`
`s
`2
`o a,
`o
`m
`.E
`;
`2
`<
`
`0:
`.E
`E
`o.
`.E
`2:
`' 8
`1:
`co
`E
`"5
`<
`
`_
`
`D
`
`a
`
`O
`
`a
`
`Figure 2 2000
`
`3
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 3 0f 8
`
`US 2008/0148167 A1
`
`25%» Eng ‘3%: 05 gas
`
`
`
`mm :7 swlwuwwdu QUMEJEHWEQ
`
`com
`
`4
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 4 0f 8
`
`US 2008/0148167 A1
`
`Ill-Illlllll-ll-Illlul.
`
`5
`
`
`
`x m .a 252%
`
`
`
` v QEELBBm M .
`
`
`
`7 .SMEES/ET
`
`,
`
`1 .
`
`
`
`3F. :35 8%. mm
`
`
`
`3228 “Bag
`
`5
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 5 0f 8
`
`US 2008/0148167 A1
`
`owm
`
`mmm
`
`
` . f “0030 Din-5L0
`~05 v0 much-n G COQE. .m
`
`OZ
`
`coon
`am 953m
`
`6
`
`

`

`Patent Application Publication
`
`n. H J
`
`a m S w m
`
`m
`
`US 2008/0148167 A1
`
`M .m 35E
`
`9, am ENE
`
`Em 2:5
`
`w ‘mi m “i H %
`62am
`
`. 353s?
`
`2332
`
`
`
`mum , gm $1.55 PM.“
`
`:5 85E .w
`
`
`
`
`
`vm ‘ L 35200 332m “E 29cm: 3% 2E2m=< 20am
`
`
`
`
`
`53:52 mum's E350
`
`7
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 7 of8
`
`US 2008/0148167 A1
`
`635:8?was.
`SE,»3gauge9.Eirggfi.&.;.3:
`
`,.
`
`$52:5
`
`
`
`
`
`
`
`i.Mggwflgggfififl,
`
`
`
`
`
`Sun309.?mint—Eating22:.23duu-En2D,
`
`8
`
`
`

`

`Patent Application Publication
`
`Jun. 19, 2008 Sheet 8 0f 8
`
`US 2008/0148167 A1
`
`Start — Making another
`
`wind“ Topmost
`
`61 0
`
`Input control handle to
`bring to front, Into
`
`v
`
`Use GotParent WlnAPl command. to get the handle of
`
`the wlndow that contains the
`control. Store the handle in
`_WindowPtr
`
`625
`heck if vvlndow is minimized. using
`Vl?ndows API lsloonic method
`
`627
`
`
`
`Use the WlnAPl method GetWlndowThreadProoessld to get the thread handle of _windowPtr, and of
`
`i
`
`_toregmundwlndowPtr.
`Store those values in:
`_l‘oregroundThreedld, Mmwrmmw
`
`t
`
`Use Wln32 Method AttachThreadlnput to ettadt _wlndowThreadld to _foregrounclThreadld
`
`This method may tell on some versions 01
`Microsoft Windows. Failure of this method is
`handled beiow
`
`previous method suooed =
`(returned true)
`
`Restore window, using
`showwimow wlnAP| No
`command‘
`
`New?)
`
`Get the foreground wlndow handle.
`using WlnAPl GetForwardWindow
`command. Store it in
`Joregmundwmdm
`
`'
`
`l
`
`665
`
`v.7
`
`7
`5 We have suocessfullyldegulsed our
`thread as the target window thread.
`Use BringToFronl and
`SetForegroundWlndow Methods to try
`
`to bring the window to hem
`l
`.
`.
`gmm'g’g‘gme the
`.
`.
`attaching of the window thread.
`,_..._..__......._...________l
`
`Is _windowPtr Equals to
`Forward Window Handle?
`
`s _wlndowPtr is the topmost windo
`(Use GetForegroundwlnow method
`
`Use Vl?nAPl method:
`SystemParemeterslnfo(SPl_GETFOREGROUNDLO
`CKTIMEOUT, 0, &_timeout. 0)
`To store the window timeout value to _timeout
`variable
`
`i
`
`Use WinAPI method:
`de?ne integer _to = 0;
`SystemParam tersinfo(SPl_SETFOREGROUNDLO
`CKTIMEOUT, D, &_to, SPIF_SENDCHANGE)T0 set
`the window timeout value to 0
`
`l
`
`Use WinAPl commends BrlngWlndowToTop and
`SetForegroundVWndow to bring the window to front
`
`m
`
`.
`
`i
`
`Use WinAPI method:
`SystemParameterslnMSPLSETFOREGROUNDLO
`CKTIMEOUT. 0. Glimeout. $P|F_SENDCHANGE)
`' To restore the window timeout value to _tlmeout
`
`Window ls Topmost, END
`
`l
`
`Figure 6
`
`9
`
`

`

`US 2008/0148167 A1
`
`Jun. 19, 2008
`
`METHOD FOR COPYING IMAGES
`
`FIELD AND BACKGROUND OF THE
`INVENTION
`
`[0001] The present invention relates to computer user inter
`faces and, more particularly, but not exclusively to a system
`and apparatus for copying images betWeen computer appli
`cations.
`[0002] In human-computer interaction, cut and paste or
`copy and paste is a user interface paradigm for transferring
`text, data, ?les or objects from a source to a destination. Most
`ubiquitous is the ability to cut and paste sections of plain text.
`[0003] The term “cut andpaste” derives from the traditional
`practice in manuscript editing in Which paragraphs Were lit
`erally cut from a page With scissors and physically pasted
`onto another page.
`[0004] This traditional practice Was standard practice as
`late as the 1980s. Editing scissors With blades long enough to
`cut an 81/2"-Wide page Were available at stationery stores. The
`advent of photocopiers made the practice easier and more
`?exible.
`[0005] The cut-and-paste paradigm Was Widely popular
`iZed by AppleTM in the LisaTM and MacintoshTM operating
`systems and applications. It Was mapped to a key combina
`tion consisting of a special control key held doWn While
`typing the letters X (for cut), C (for copy), and V (for paste).
`[0006] The above key combinations Were later adopted by
`Microsoft in WindoWsTM. Common User Access (in Win
`doWsTM and OS/2TM) also uses combinations of the Insert,
`Del, Shift and Control keys.
`[0007] Some environments alloW cutting and pasting With a
`computer mouse (by drag and drop, for example).
`[0008] The ?rst multiple clipboard utility Copy-Paste
`appeared on the Macintosh in 1989 and extended the key
`board concept for each clipboard so that holding doWn the
`command key +c+ any number (0-9) Would copy to a separate
`clipboard. CopyPaste later displayed and alloWed editing
`hundreds of clipboards and added a clipboard recorder or
`stack of the most recently made cuts or copies.
`[0009] Copy-and-paste refers to the popular, simple
`method of reproducing data from a source application to a
`destination application, Which is only different from cut and
`paste in that the original source data is not deleted or removed
`as it is With the latter process.
`[0010] Copying can be performed on most graphical user
`interface systems using the key combinations such as Ctrl+C
`or Ctrl+Ins, or by using some other method, such as a context
`menu or a toolbar button.
`[0011] Once data have been copied into the area of memory
`referred to as the clipboard, they can be pasted into a desti
`nation using the key combinations Ctrl+V or Shift+Insert, or
`methods dependent on the system.
`[0012] Macintosh computers use the key combinations
`Command+C and Command+V. In the X WindoW System,
`selecting text copies it to a clipboard, While middle-clicking
`pastes.
`[0013] The popularity of this method stems from its sim
`plicity and the ease With Which data can be moved betWeen
`various applications Without resorting to permanent storage.
`[0014] By noW, the cut-and-paste paradigm (or copy-and
`paste) is a universal paradigm, used on a daily basis by most
`computer users.
`
`[0015] Currently, there are many computer applications,
`Which implement the cut-and-paste (or copy-and-paste) para
`digm, as described in further detail hereinabove.
`[0016] For example, TechSmith Inc. offers the Snag-ItTM
`product. The Snag-ItTM product alloWs a computer user to
`capture screen images of objects or entire screens, and copy
`the images from one computer document to another.
`[0017] HoWever With current products, the copy-and-paste
`operation is a multi step semiautomatic process. The user has
`to select the image in an application, as Well as a target
`application that the image data is copied to.
`[0018] Furthermore, the image data is temporarily stored in
`a ?le (or a clipboard), before the image is copied to the target
`application, and the access to the ?le (or a clipboard) has to be
`appropriately managed.
`[0019] On most systems there is only one location in the
`clipboard, hence another cut operation overWrites the previ
`ously stored information. Multiple clipboard entries are pro
`vided by many UNIX text editors and some WindoWsTM
`clipboard manager programs that are available over the Inter
`net.
`[0020] With current systems, only When the user selects the
`target application, for the speci?c copy-and-paste operation,
`is the image data copied to the target application.
`[0021] For example, US. Pat. No. 6,269,389, to Ashe, ?led
`on May 5, 1995, entitled “Method and system for controlling
`the copying and insertion of contents of documents”,
`describes a clipboard manager. The clipboard manager
`employs preemptive scheduling for access to contents of a
`clipboard region of memory in a computer.
`[0022] There is thus a Widely recogniZed need for, and it
`Would be highly advantageous to have, a system devoid of the
`above limitations.
`
`SUMMARY OF THE INVENTION
`
`[0023] According to one aspect of the present invention,
`there is provided an apparatus for copying image data
`betWeen computer applications running under at least one
`operating system, the apparatus comprising: a) a selector,
`operable by a user, for selecting an object from a computer
`application; and b) an image data importer, associated With
`the selector, and con?gured to automatically import image
`data of the selected object into a predetermined target com
`puter application, upon the selecting.
`[0024] According to a second aspect of the present inven
`tion, there is provided a method for copying image data
`betWeen computer a applications running under at least one
`operating system, the method comprising: alloWing a user to
`select an object from a computer application; and upon the
`selecting, automatically importing image data of the selected
`object into a predetermined target computer application.
`[0025] Unless otherWise de?ned, all technical and scien
`ti?c terms used herein have the same meaning as commonly
`understood by one of ordinary skill in the art to Which this
`invention belongs. The materials, methods, and examples
`provided herein are illustrative only and not intended to be
`limiting.
`[0026] Implementation of the method and system of the
`present invention involves performing or completing certain
`selected tasks or steps manually, automatically, or a combi
`nation thereof.
`[0027] Moreover, according to actual instrumentation and
`equipment of preferred embodiments of the method and sys
`tem of the present invention, several selected steps could be
`
`10
`
`

`

`US 2008/0148167 A1
`
`Jun. 19, 2008
`
`implemented by hardware or by software on any operating
`system of any ?rmware or a combination thereof.
`[0028] For example, as hardware, selected steps of the
`invention could be implemented as a chip or a circuit. As
`software, selected steps of the invention could be imple
`mented as a plurality of software instructions being executed
`by a computer using any suitable operating system. In any
`case, selected steps of the method and system of the invention
`could be described as being performed by a data processor,
`such as a computing platform for executing a plurality of
`instructions.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0029] The invention is herein described, by way of
`example only, with reference to the accompanying drawings.
`[0030] With speci?c reference now to the drawings in
`detail, it is stressed that the particulars shown are by way of
`example and for purposes of illustrative discussion of the
`preferred embodiments of the present invention only, and are
`presented in order to provide what is believed to be the most
`useful and readily understood description of the principles
`and conceptual aspects of the invention. The description
`taken with the drawings making apparent to those skilled in
`the art how the several forms of the invention may be embod
`ied in practice.
`[0031] In the drawings:
`[0032] FIG. 1 is a block diagram illustrating an apparatus
`for copying image data between computer applications,
`according to a preferred embodiment of the present invention;
`[0033] FIG. 2 is a ?owchart illustrating a ?rst method for
`copying image data between computer applications, accord
`ing to a preferred embodiment of the present invention;
`[0034] FIG. 3 shows an exemplary marker, for selecting an
`object, according to a preferred embodiment of the present
`invention;
`[0035] FIG. 4 shows an exemplary image of the object
`selected in FIG. 3, after import to a target application, accord
`ing to a preferred embodiment of the present invention;
`[0036] FIG. 5a is a ?owchart illustrating a second method
`for copying image data between computer applications,
`according to a preferred embodiment of the present invention;
`[0037] FIG. 5b shows an exemplary image of an object in
`one application, imported to a target application, according to
`a preferred embodiment of the present invention; and
`[0038] FIG. 6 is a ?owchart illustrating a method for mak
`ing an object topmost, according to a preferred embodiment
`of the present invention.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`[0039] The present embodiments comprise a method and
`apparatus for importing image data from one computer appli
`cation to a target computer application.
`[0040] A computer application is a de?ned subclass of
`computer software that employs the capabilities of a com
`puter directly to a task that the user wishes to perform. This
`should be contrasted with operating systems which are
`involved in integrating a computer’s various capabilities, but
`typically does not directly apply them in the performance of
`tasks that bene?t the user. An application generally runs
`within or under an operating system.
`
`[0041] Typical computer applications, used on a daily
`basis, include a word processor (such as WordTM), a spread
`sheet editor (such as ExcelTM), etc.
`[0042] There are also computer applications used in spe
`ci?c industries.
`[0043] For example, in medical imaging, Picture Archiving
`and Communication Systems (PACS) are computer applica
`tions dedicated to storage, retrieval, distribution and presen
`tation of medical images.
`[0044] With a method according to a preferred embodiment
`of the present invention, a user may select an object appearing
`in a window of a computer application (say, a PACS applica
`tion), and the image data of the selected object is automati
`cally imported to a prede?ned target computer application.
`[0045] The prede?ned target computer application may be
`prede?ned by an administrator of a system, prede?ned by the
`user, or simply be an application the method is implemented
`by (say, a medical image calibration software installed with a
`functionality for implementing the method, as described in
`further detail hereinbelow).
`[0046] That is to say, according to a preferred embodiment
`of the present invention, the user merely has to choose the
`object, for having the image data of the object automatically
`imported to the target application.
`[0047] Unlike current methods, the user does not have to
`engage in a multi-step process, where the user selects an
`object (say, by performing a Copy or Cut operation), the
`image data of the object as held by the operating system is
`temporarily placed in a ?le (or in a clipboard), the user
`chooses the target application, and the image is pasted on the
`target application’s window.
`[0048] For example, a user uses propriety PACS software,
`to examine a radiographic image of a human organ, or bone.
`The user also uses a computer application for calibrating the
`radiographic image.
`[0049] In accordance with a preferred embodiment of the
`present invention, the user chooses the radiographic image in
`the PACS software. Consequently, the image data of the
`radiographic image is automatically imported from the oper
`ating system to the target computer application used for cali
`brating the image.
`[0050] The radiographic image may be presented, edited,
`and calibrated by the targeted computer application used for
`calibrating the image.
`[0051] The principles and operation of an apparatus and
`method according to the present invention may be better
`understood with reference to the drawings and accompanying
`description.
`[0052] Before explaining at least one embodiment of the
`invention in detail, it is to be understood that the invention is
`not limited in its application to the details of construction and
`the arrangement of the components set forth in the following
`description or illustrated in the drawings.
`[0053] The invention is capable of other embodiments or of
`being practiced or carried out in various ways. Also, it is to be
`understood that the phraseology and terminology employed
`herein is for the purpose of description and should not be
`regarded as limiting.
`[0054] Reference is now made to FIG. 1, which is a block
`diagram illustrating an apparatus for copying image data
`between computer applications, according to a preferred
`embodiment of the present invention.
`[0055] Apparatus 1000 includes a selector 110.
`
`11
`
`

`

`US 2008/0148167 A1
`
`Jun. 19, 2008
`
`[0056] The selector 110 may be used by a user, to select an
`object in a computer application, say a radiographic image in
`a Picture Archiving and Communication Systems (PACS).
`[0057] Preferably, the selector 110 presents a marker to the
`user, and alloWs the user to drag the marker onto an image of
`the object, thereby to select the object, as described in further
`detail hereinbeloW.
`[0058] The apparatus further includes an image data
`importer 120, connected to the selector 110.
`[0059] An operating system, such as WindoWsTM has
`access to image data of each object presented to a user in a
`computer screen by the operating system.
`[0060] The image data importer 120 automatically imports
`image data of the selected object from the operating system
`into a predetermined target computer application, upon the
`selection of the object by the user.
`[0061] That is to say, once the user selects the object from
`the PACS, or other computer application, the image data of
`the selected object is imported from the operating system to a
`target application, as described in further detail hereinbeloW.
`[0062] Preferably, the target application is an application
`preinstalled With an apparatus 1000, such as a Word proces
`sor, spreadsheet software, softWare for calibrating medical
`digital images, etc.
`[0063] Optionally, the target application is a target applica
`tion chosen by an administrator of the apparatus 1000, or a
`target application chosen by the user. Once the user or admin
`istrator selects the target application, image data of any object
`selected by the user is automatically imported from the oper
`ating system to the selected target application.
`[0064] Preferably, the image data importer 120 ?nds if the
`selected object belongs to the target application, and thereby
`avoids importing the image data of an object belonging to the
`target application.
`[0065] Optionally, apparatus 1000 also includes an image
`capturer, connected to the selector 110.
`[0066] The image capturer captures the image data of the
`object selected by the user, from an operating system prior to
`the importing of the image data of the object to the target
`application.
`[0067] For example, the image capturer may be imple
`mented using a WindoW spy. A WindoW spy is softWare that is
`used for capturing the handle of the WindoW Where the image
`of the object is displayed, and the handle is used to import the
`graphic object data from the operating system, as described in
`further detail hereinbeloW. An example of a WindoW spy is
`WindoWsTM Spy.
`[0068] One problem With the WindoWsTM operating system
`is that the WindoWsTM operating system does not provide for
`capturing of image data from a WindoW Which is not topmost
`of the WindoWs presented to the user, as explained in further
`detail hereinbeloW.
`[0069] That is to say, When a user of a target application
`selects an object While using the target application, the Win
`doW of the target application is topmost. HoWever, the Win
`doWsTM operating system does not provide for capturing
`image data of the selected object’s WindoW, as the object’s
`WindoW is not topmost among WindoWs managed by the
`operating system.
`[0070] In order to alloW the capturing the image data of the
`object selected by the user, the selected object’s WindoW is
`made topmost.
`[0071] Preferably, apparatus 1000 further includes a top
`most maker, connected With the selector.
`
`[0072] The topmost maker makes the selected object top
`most. Consequently, the image data of the selected object may
`be captured from the operating system. For example, the
`image capturer may capture the image data from the Win
`doWsTM operating system, as described in further detail here
`inbeloW.
`[0073] The target application may be used to present the
`image data, process the image data, edit the image data, etc, as
`knoWn in the art.
`[0074] Optionally, apparatus 1000 includes an image pre
`senter 160, connected to the image data importer 120.
`[0075] The image presenter 160 presents an image of the
`selected object in a WindoW of the target application, using the
`imported image data.
`[0076] Preferably, the image presenter presents an image of
`the selected object in a WindoW of the target application, using
`the imported image data, according to a policy prede?ned by
`a user or an administrator of the apparatus 1000.
`[0077] For example, an administrator of the apparatus 1000
`may de?ne a policy that all images are to be aligned With the
`upper border of a WindoW, presented in a certain position in
`the WindoW, presented in a certain siZe, etc.
`[0078] Preferably, the apparatus also comprises an image
`data processor 170 connected to the image data importer 120.
`[0079] The image data processor 170 may process the
`image data, according to a prede?ned policy. The policy may
`be de?ned by a user, an administrator of the apparatus 1000,
`etc.
`[0080] An example of such a policy Wouldbe that the image
`data processor 170 may process the color images to a grey
`scale, improve the quality of the image, etc, as knoWn in the
`art.
`[0081] Reference is noW made to FIG. 2, Which is a How
`chart illustrating a method for copying image data betWeen
`computer applications, according to a preferred embodiment
`of the present invention.
`[0082] According to method 2000, a user is alloWed 210 to
`select an object from a computer application, say using a
`selector 110, as described in further detail hereinabove.
`[0083] For example, a user may select a radiographic image
`in a Picture Archiving and Communication Systems (PACS).
`[0084] Reference is noW made to FIG. 3, Which shoWs an
`exemplary marker, for selecting an object, according to a
`preferred embodiment of the present invention.
`[0085] Preferably, the user is presented a marker 310, and
`alloWed to drag the marker 310 onto an image of the object
`320, thereby to select the object 320.
`[0086] Upon the selection 310 of the object by the user (say
`by dragging the marker 310 into the image of the object, as
`described hereinabove) the image data of the selected object
`is automatically imported 320 from the operating system into
`a predetermined target computer application.
`[0087] That is to say, once the user selects 310 the object
`from the PACS, or other computer application, the image data
`of the selected object is imported 320 into a target application,
`say using an image data importer 120, as described in further
`detail hereinbeloW.
`[0088] Preferably, the method 2000 is implemented by an
`application preinstalled Within an apparatus 1000, such as a
`Word processor, spreadsheet softWare, softWare for calibrat
`ing medical digital images, etc.
`[0089] Optionally, the target application is a target applica
`tion chosen by an administrator of the apparatus 1000, or a
`target application chosen by the user in advance.
`
`12
`
`

`

`US 2008/0148167 A1
`
`Jun. 19, 2008
`
`[0090] Once the user or administrator selects the target
`application, image data of any object selected by the user is
`automatically imported to the selected target application.
`[0091] Preferably, there is veri?ed that the object, selected
`by the user, does not belong to the target application itself, say
`using the image data importer 120. If the selected object
`belongs to the target application, the image data of the object,
`Which belongs to the target application, is not imported to the
`target application.
`[0092] Optionally, the image data of the object is retrieved
`from the operating system prior to the importing of the image
`data of the object to the target application, say using the image
`capturer described hereinabove.
`[0093] One problem With the WindoWsTM operating system
`is that the WindoWsTM operating system does not alloW cap
`turing of image data from a WindoW Which is not topmost of
`the WindoWs presented to the user.
`[0094] For example, When a user of a target application
`selects an object While using the target application, the Win
`doW of the target application is topmost. HoWever, the Win
`doWsTM operating system does not provide for capturing
`image data of the selected object’s WindoW, as the object’s
`WindoW is not topmost among WindoWs managed by the
`operating system.
`[0095] In order to alloW the capturing the image data of the
`object selected by the user, the selected object’s WindoW is
`made topmost.
`[0096] In order to overcome the problem With the Win
`doWsTM operating system, the selected object is made top
`most, say using the methods described in further detail here
`inbeloW. Consequently, the image data of an object may be
`captured from the WindoWTM operating system.
`[0097] The target application may be used to present the
`image data, process the image data, edit the image data, etc, as
`knoWn in the art.
`[0098] Preferably, the image data is used to present the
`image in a WindoW already used by the target application, in
`a neW WindoW, etc.
`[0099] Preferably, the image of the selected object is pre
`sented in the WindoW of the target application, using the
`imported image data, according to a policy prede?ned by a
`user or an administrator of the apparatus 1 000, as described in
`further detail hereinabove.
`[0100] Reference is noW made to FIG. 4, Which shoWs an
`exemplary image of the object selected in FIG. 3, after import
`to a target application, according to a preferred embodiment
`of the present invention.
`[0101] An administrator of the apparatus 1000 may de?ne
`a policy that all images are to be aligned With the upper border
`of a WindoW, presented in a certain position 410 in the Win
`doW, presented in a certain siZe, etc.
`[0102] Preferably, the image data imported to the target
`application is processed, according to a prede?ned policy.
`The policy may be de?ned by a user, an administrator of the
`apparatus 1000, etc.
`[0103] For example, the image data processor may present
`color images in grey scale, improve the quality of the image,
`etc, as knoWn in the art.
`[0104] Reference is noW made to FIG. 5a, Which is a How
`chart illustrating a second method for copying image data
`betWeen computer applications, according to a preferred
`embodiment of the present invention.
`
`[0105] Method 5000 may be implemented in the Win
`doWsTM operating system environment. In the method the
`user is presented 510 a grabber WindoW 300 With a marker
`310, as illustrated in FIG. 3.
`[0106] The grabber WindoW 300 presents the user With
`instructions for selecting the object, and With a marker 310,
`usable for selecting the object, by dragging the marker onto
`the object, as described in further detail hereinabove.
`[0107] The user is alloWed 520 to drag the marker 310 onto
`an image of an object 320 that the user Wishes to import into
`a prede?ned target application, as described in further detail
`hereinabove.
`[0108] Next, there is found 530, the handle of the WindoW
`of the object selected by the user, say by the image data
`imported 120. The handle is a unique number assigned by the
`WindoWsTM Operating system to each WindoW.
`[0109] Next, there is veri?ed 535 that the handle does not
`belong to a WindoW of the target application.
`[0110] If the handle belongs to the WindoW of the target
`application, the selection is disabled, and no image data of the
`object, Which appears to be mistakenly selected by the user, is
`imported to the target application.
`[0111] If the handle does not belong to a WindoW of the
`target application, the object is made 530 topmost (say, by
`making the WindoW of the selected object topmost, as
`described in further detail hereinbeloW), and the image data
`of the selected object is fetched 540 from the Operating
`System, say as a bitmap ?le, as knoWn in the art.
`[0112] Finally, the image data (say, the bitmap ?le) is
`imported 550 to a target application.
`[0113] The target application may be an application, such
`as a Word processor or a spreadsheet editor, selected in
`advance by the user or administrator of the apparatus 1000, a
`target application implementing the method 5000, etc, as
`described in further detail hereinabove.
`[0114] Reference is noW made to FIG. 5b, Which shoWs an
`exemplary image of an object in one application, imported to
`a target application, according to a preferred embodiment of
`the present invention.
`[0115] The target application 580 may process the image
`data of an object presented in an application 590, present an
`image of the object to the user in minimized or maximiZed
`form, using the image data of the object, etc, as described in
`further detail hereinabove.
`[0116] Reference is noW made to FIG. 6, Which is a How
`chart illustrating a method for making an object topmost,
`according to a preferred embodiment of the present invention.
`[0117] As explained hereinabove, one problem With the
`WindoWsTM operating system is that WindoWsTM operating
`system does not alloW capturing of image data of a WindoW
`Which is not topmost of the WindoWs presented to the user
`from the operating system, as explained in further detail here
`inbeloW.
`[0118] Optionally, the user manually sWitches to the Win
`doW of the object the user Wishes to select, say using the
`WindoWsTM Alt+Tab functionality, as knoWn in the art, thus
`making the WindoW of the object selected by the user topmost
`[0119] Preferably, the object selected by the user in a Win
`doWsTM operating system application is made topmost, say
`using method 6000.
`[0120] In method 6000, the handle of an object’s WindoW,
`Which needs to be made topmost, is received 610, say by the
`topmost maker described in further detail hereinabove.
`
`13
`
`

`

`US 2008/0148167 A1
`
`Jun. 19, 2008
`
`[0121] Next, there is used 620 the GetParent WindoWsTM
`Application Programming Interface (API) Function, to
`retrieve the handle of a WindoW Which contains the object
`selected by the user, and the handle is stored 620.
`[0122] Next, there is checked 625 if the WindoW, Which
`contains the object selected by the user, is minimized. If the
`WindoW Which contains the object selected by the user is
`minimized, the WindoW is restored to normal siZe, using the
`ShoWWindoW API command, as knoWn in the art.
`[0123] Next, the handle of the foreground WindoW is
`retrieved 630 from the operating system, using the GetFor
`WardWindoW API command, as knoWn in the art.
`[0124] If the handle of the foreground WindoW is different
`than the handle of the WindoW hosting the object 635, then
`there are performed the folloWing steps:
`[0125] TheAPI GetWindoWThreadProcessID is used to get
`640 the handle of the WindoW, Which contains the object
`selected by the user.
`[0126] The API method GetWindoWThreadProcessID is
`also used to get the handle of the foreground WindoW, and the
`tWo handles are stored.
`[0127] Next, the Win32 AttachThreadInput method is used
`645, in order to attach the thread of the WindoW of

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket