NetPaste - Network copy & paste -/\-
  Content Enhanced - Use Any Browser updated: 12/30/03
Documentation For Developers
Sourceforge Project
Download Binaries About Us

The Netpaste project contains various components that could be reused by many a developer. the design of the NetPaste was unparalleled, therefore we are proud to provide them to you, developers.

Architecture overview as of beta 1.0


Source Netpaste
- where the copy is taking place (on PC A)
Destination Netpaste - where the paste is taking place (on PC B)

Keyboard Hook Layer

The NetPaste process hooks into the system keyboard events, it is activated when the special keyboard combination events are pressed by the user, it does
not matter from which application the user has pressed the keys. there are 3 types of events:

Ctrl-Alt-Shift-C - for copy
Ctrl-Alt-Shift-V - for paste
Ctrl-Alt-Shift-Q - for quiting Netpaste

When the user press to copy, he already press the Ctrl C, which means that if the underlying application supports it the data is placed into the clipboard, the assumption is that Ctrl C is ubiquitous in editing programs. collecting the data via selection from the windowing level brings a lot of complicated issues that we bypass by this approach.

When  the user press the paste combination he is activating the pasting process that at the end will place the data to be pasted into the clipboard, this is done at the destination Netpaste.

Communication layer

where the keyboard layer interacts with the system keyboard events, the communication take place to broadcast the specific event between the source netpaste and the destination/s netpaste.


Upon Copy event - sends a UDP multicast on port 1500 to the LAN, the netpaste packet contains header information regarding the event type and source pc, this registers the source Netpaste in every Netpaste on the Lan as a ready to copy from (paste) Netpaste.


Upon paste event - the user chooses the source Netpaste, the netpaste initiates a paste protocol - based on UDP:
Destination (send paste event) -> Source
Source (sends copy data from source clipboard) -> Destination

The paste level routine then forwards the data to the handling Netpaste that place it in the clipboard, and consequentially into the destination application display mechanisms.

The Sources

For your convenience the sources are packaged under a dot Net solution, even though it's uses only windowing and C++ Lang and does not use any new features of the .NET.  unpackaged you will find under /netclip folder a DNET_IDE_ENV.BAT file, edit it for your path and start it. it will open the folder.

There are 5 subprojects –

KBHook - handling dll code for the keyboard system hook, and event notification.
NetClip -main application code and dialogs
NetClipBasicLib - netclip interfaces for keyboard events, network protocol and clipboard interaction
NetClipWin32Lib - win32 override interface, implementation of basic library.
Packages - namespaces and global functions & utilities.

To Source Forge prj home page
the rights of man are preserved but what about software?