Patent ID: 7434233

Claim:
An inter-program communication apparatus for performing inter-program communication between a first program and a second program which are capable of processing a common medium object in a coordinated manner, the inter-program communication apparatus comprising: communication path establishment means for establishing a communication path between the first program and the second program; shared-memory allocation means for allocating a memory area of a shared memory shared by the first program and the second program; notification means for notifying, from the first program to the second program using the communication path established by the communication path establishment means, specific information for specifying the common medium object and request information for requesting a processing of the common medium object specified by the specific information; transfer means for, when the second program performs the processing corresponding to the request information on the common medium object specified by the specific information notified by the notification means, transferring from the second program to the first program, by storing data of a common medium object body after the processing and attached information attached to the common medium object body in the shared memory allocated by the shared-memory allocation means, the data of the common medium object body after the processing and the attached information; window control means for controlling a display position and a size of a window of the first program to be the same as a display position and a size of a window of the second program based on window identification information and a message identifier used by the communication path establishment means, the first program being different from the second program, and the window control means displaying the window of the second program at the same display position and the same size as those of the first program, and thereafter, controlling the window of the first program to a non-display state; and status control means for performing control in such a manner that an input signal to the first program is ignored immediately before the second program is started up when the window control means performs a process of changing a display from the window of the first program to the window of the second program, and for resetting a state in which the input signal to the first program is ignored after coordination between the first program and the second program is established.