background image

int len = GetModuleFileName(hInst,ProcessName.GetBuffer(256),256);

if(len == 0)

{

MessageBox(NULL,"无法获取进程的当前目录","Error",0);

return;

}

ProcessName.ReleaseBuffer(len);

DWORD direcLen = ProcessName.GetLength() + 1;

LPBYTE direc = new BYTE[direcLen];

ZeroMemory(direc,direcLen);

ret = RegQueryValueEx(hKey,"VirtualDesk",0,0,direc,&direcLen);

//如果键不存在或者键长度与目前的值长度不匹配则添加新键

if((ret != ERROR_SUCCESS )|| (direcLen != ProcessName.GetLength()+1))

{

SetValue:

DWORD KeyLength = ProcessName.GetLength() + 1;

LPBYTE KeyValue = new BYTE[KeyLength];

ZeroMemory(KeyValue,KeyLength);

for(int i=0;i

KeyValue[i] = ProcessName[i];

KeyValue[ProcessName.GetLength()] = 0;

ret = RegSetValueEx(hKey,"VirtualDesk",0,REG_SZ,KeyValue,KeyLength);

delete []KeyValue;

}

else

{

//如果键的内容与当前值不匹配同样进行更改

for(int i=0;i

{