刚才看了一下以前的笔記,
你需要在explore.exe启动后就隐藏了桌面,然后在explore.exe启动后,
才运行你的自己的全屏程序,这可以通过在
[HKEY_LOCAL_MACHINE\Init]
"Launch50"="XXX.exe"
"Depend50"=hex:14,00,1e,00
上增加自己程序的启动项就OK了。
Desktop.cpp中BOOL CDesktopWnd::Create()有如下语句:
SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXVIRTUALSCREEN),
GetSystemMetrics(SM_CYVIRTUALSCREEN));
// create the desktop's view window (no need to AddRef since CreateViewWindow
// does it)
hr = _psv->CreateViewWindow(NULL, &fs, (IShellBrowser *)this, &rc, &_hWnd);
SetRect()就是用来设置桌面显示的位置的,从而只要把第三个参数修改成为
GetSystemMetrics(SM_CYVIRTUALSCREEN)应该就可以实现桌面的隐藏!