| ||||||||||||||||
|
Finding DC++ ShareFolders Via Xml in C#
by Retro
,
dM
AMMr
4MMML .
MMMMM. xf
. "M6MMM .MM-
Mh.. +MM5MMM .MMMM
.MMM. .MMMMML. MMMMMh Finding DC++ ShareFolders Via Xml in C#
)MMMh. MM5MMM MMMMMMM by Retro
3MMMMx. 'MMM3MMf xnMMMMMM"
'*MMMMM MMMMMM. nMMMMMMP"
*MMMMMx "MMM5M\ .MMMMMMM=
*MMMMMh "MMMMM" JMMMMMMP
MMMMMM GMMMM. dMMMMMM . 2nd April 2006
MMMMMM "MMMM .MMMMM( .nnMP"
.. *MMMMx MMM" dMMMM" .nnMMMMM*
"MMn... 'MMMMr 'MM MMM" .nMMMMMMM*"
"4MMMMnn.. *MMM MM MMP" .dMMMMMMM""
^MMMMMMMMx. *ML "M .M* .MMMMMM**"
*PMMMMMMhn. *x > M .MMMM**""
""**MMMMhx/.h/ .=*" http://retro.host.sk
.3P"%.... www.rrlf.de.vu
nP" "*MMnx
1. I N T R O
If you dont already know, DC++ is a free open-source P2P client, like edonkey or kazaa.
On the eve of writting of this code, I had never heard of DC++. It wasn't untill I
asked a friend about the most common P2P clients today, his first answer as he's coming
at me was, DC++. So as i'm bangaging my wounds, I installed DC to see what the hype was
about. Unlike eDonkey for example, DC lets you choose which folders to share with others
by default, whereas eDonkey creates it's own, in My Documents. All of DC settings are
contained in a XML in the root install dir, wherever that maybe, called 'DCPlusPlus.xml'.
2. R E Q U I R E M E N T S
For the code, i'm using Visual Studio .NET 2005 Beta 2, along side .NET 2.0 Framework.
I had too many problems working with 1.1, and so I upgraded. It should work with 1.1
but you may need to edit 'XmlReader.Create' to 'New XmlReader' but dont quote me on
that.
3. T H E C O D E
static void dcShares()
{
// Check to see if DCPlusPlus is installed
RegistryKey p2pKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\DC++");
// Get the installation key
object p2p = p2pKey.GetValue("Install_Dir");
// If the key isnt there, then exit if statement
if (p2p == null) { }
else
{
// Append backslash too Path
p2p += @"\";
// Open the Config File
XmlReader xmlRead = XmlReader.Create(p2p + "DCPlusPlus.xml");
// Read Xml File
while (xmlRead.Read())
{
// If the current node is 'Directory'
if (xmlRead.Name == "Directory")
{
// Read the element
string dccShare = xmlRead.ReadString();
// Show folder
Console.WriteLine(dccShare);
}
}
// Close the XmlReader
xmlRead.Close();
}
}
4. O U T R O
As you can see its very easy to understand, and can be applied to anything you wish,
but obviously you'd want to copy itself to the folders though. Anyway enjoy the code.
| ||||||||||||||||