How did DropBox implement these two features (a high-level answer is fine):
Get the icon of a file to change once it's synchronised on Windows? (I am guessing similar answers would apply to the other 开发者_如何学编程OSs)
Send only the changes done to a file and not the whole file?
For 2, I am guessing that it worked by using something similar to diff on the client side, and sending the output...
As for the first question, it's done using an icon overlay handler. There's an example in codeproject, and you can also take a look at the great TortoiseSVN source, which implements such a handler.
Only sending modifications to a file is accomplished with something called a Rolling Checksum / Hash, an example of a program that can remotely diff a file and only send the differences is rsync.
精彩评论