Saturday, April 19, 2008

open explorer at My Computer folder

ShellExecute(NULL,
L"explore",
L"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}",
NULL,
NULL,
SW_SHOW);

Sunday, April 13, 2008

MyDock 0.9.1001

New release is available here. Main changes are

* Added quit button
* Use high-quality icons if available
* Bug fixes

Friday, April 11, 2008

Migrating dev related items to codeplex

Created a project for tracking items and releases on CodePlex. See MyDock On CodePlex for more details

Saturday, April 5, 2008

XMLDOM tricks

Add \r\n to the document when saving. Original info from Line breaks and IXMLDOMDocument

static LPCWSTR s_szFormatConfig = L""\
L" edit window is not XML friendly, see original post for details";

static HRESULT FormatConfig(IXMLDOMDocument * pInDoc, CComPtr & spOutDoc)
{
HRESULT hr = S_OK;
CComPtr spSS;
VARIANT_BOOL vbSuccess;

IFC(CoCreateInstance(__uuidof(DOMDocument60),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLDOMDocument),
(void**)&spSS));

IFC(CoCreateInstance(__uuidof(DOMDocument60),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLDOMDocument),
(void**)&spOutDoc));

spSS->put_resolveExternals(VARIANT_FALSE);
spSS->put_preserveWhiteSpace(VARIANT_TRUE);

spOutDoc->put_resolveExternals(VARIANT_FALSE);
spOutDoc->put_preserveWhiteSpace(VARIANT_TRUE);

//
// load SS from string
//
IFC(spSS->loadXML(CComBSTR(s_szFormatConfig), &vbSuccess));
if(vbSuccess != VARIANT_TRUE)
{
hr = E_FAIL;
goto Cleanup;
}

//
// convert
//
IFC(pInDoc->transformNodeToObject(spSS, CComVariant(spOutDoc)));

Cleanup:

return hr;
}

Convert document to UTF8

static HRESULT ForceUTF8(IXMLDOMDocument * pDoc)
{
HRESULT hr = S_OK;
CComPtr spPI;
CComPtr spOldPI;
CComPtr spOutOldPI;
CComPtr spChildren;

IFC(pDoc->createProcessingInstruction(L"xml", L"version=\"1.0\" encoding=\"UTF-8\"", &spPI));

IFC(pDoc->get_childNodes(&spChildren));

IFC(spChildren->get_item(0, &spOldPI));

IFC(pDoc->replaceChild( spPI, spOldPI, &spOutOldPI));

Cleanup:

return hr;
}

Friday, April 4, 2008

MyDock, 04-03-2007

Added window manager docklet. Window manager allow you to perform common operations on active window such as resize to half of screen, move to different monitor etc

Wednesday, April 2, 2008

MyDock home page

Just created a home page for MyDock.

TODO list

Some ideas for todo list

- OSX type Dashboard with SL2.0 applets
- Windows manager similar to vMax (in progress)
- Search box (similar to search in the start menu on Vista)
- Run docklet
- Hide windows taskbar
- Tray docklet
- Run as admin option