Hi Gulano,
There are ways to make it more difficult to copy or extract content from web pages. Normally, documents; HTML, PDF, MS Office, text files, images, etc.; are downloaded by the browser into its cache in order to display them to the user. All the user has to do is save the files from the browser cache.
If you use an embedded app in a web page, e.g. JavaScript, Java, or Flash, it can request the content from the server not as files but as serialised data, e.g. JSON or AMF3. This means it won't be stored in the browser cache, it'll be held in the computer's RAM and the app can display it from there. Then you can make the content inaccessible to cursor selection so that it can't be copied or saved. If a user saves the page, they'll only get an empty app, i.e. no content. That's the theory anyway.
However, any clever bunnies who know about serialised data would know how to capture the stream in their browsers, using freely available developer tools, deserialise it, and save it as files. This is how a lot of video download browser plugins work. Still, most regular learners don't know how to do that.
I'm sure that, if you look around, you can find a JavaScript module/script/library that'll do what I've just described. It appears to be a frequent request on the Moodle.org forums.
Also, I wonder if it's possible to capture the print screen command and return a blank page? Anyone ever done that?