|Home | Games | Awards | About | Learn | Blog | Press Kit | Contact|
By: Jason Doucette
Have you ever used the File -> Save As... selection in Internet Explorer? You can use this to save an entire webpage to your hard drive, including all of the images required for it to display properly; not just the .html files. Select 'Web Page, complete (*.htm; *.html)' for the 'Save as type:' selection, and an HTML file with the name of the web page's title will be saved, with a folder similarly named that contains all of the web page's contents. Do this for the page you are viewing now, and save it to the Desktop, and have a look.
Now delete just the .html file. What happens?
The folder disappears, as well. This is what Microsoft calls 'Connected Files'.
You must be very careful when managing a connected file, because whatever you do to the file or the folder determines the fate of both of them. If you are a user that presses 'Shift + Delete' often (to immediately delete a file, without retiring it to the Recycle Bin first), then doing so on the .html file will also delete, without chance of restoration, the folder with all of the images, as well.
True story: Some guy created a webpage by starting with the HTML code of another site by using this 'Save As...' feature. After he was satisfied with his changes, he deleted the useless folder of images. He used Shift + Delete because he know he had no use whatsoever for the images folder. Bang! His work was deleted with it, with no chance of recovery. This is one reason to be aware of how connected files work. (And, it is also a reason to never use Shift + Delete, especially not regularly, because it becomes habit. Use the Recycle Bin. It's there for a reason. It doesn't slow your computer down. And you just never know when you may want something restored.)
So, what kind of fancy magic is going on behind the scenes to connect files and folders together? After all, looking at the properties of each does not reveal anything unusual. I finally found an MSDN page on the SHFileOperation function that describes it. I will quote the relevant blurb of text here, since it is unlikely that any non-programmer wishes to read the rest of it:
About the Author: I am Jason Doucette of Xona Games, an award-winning, indie game studio that I co-founded with my twin brother. We make arcade-style intense retro games. Our business, our games, our technology, and we as competitive gamers have won prestigious awards and received worldwide press. Our business has won $180,000 in contests. Our games have ranked from #1 in Canada to #1 in Japan, have become #1 best sellers in multiple countries, have won contests, and held 3 of the top 5 rated spots in Japan of all Xbox LIVE indie games. Our game engines have been awarded for technical excellence. And we, the developers, have placed #1 in competitive gaming competitions relating to the games we make. Read about our story, our awards, our games, and view our blog.
Xona Games, Xona.com, Xonatech, Saw Tooth Distortion, Evolutionary Prototype (EP), Duality ZF, Decimation X, Decimation X2,
Decimation X3, Decimation X3.5, Decimation X4, Score Rush, Score Rush 2, Score Rush (HTML5), Score Rush MP, and Score Rush Extended (Score Rush EX)
trademarked and copyrighted by Xona Games Inc., Matthew Doucette, and/or Jason Doucette.
© 2000..2005 Saw Tooth Distortion. © Xona.com. © 2008..2010 Xona Games (under Xona.com).
© Xona Games Inc.
We make Intense Retro video games.