关于读取注册表的问题,非常奇怪
下面的代码用来读取注册表中的关于桌面和开始程序的路径的,但是执行结果在不同的机器上运行效果却不一样,有的可以正确读取,有的只能读出其中的2项,请大家分析原因,100分奉上!!!
CString path_Desktop; //当前用户的桌面路径
CString path_Program; //当前用户的程序路径
CString path_Desktop_Common; //所有用户的桌面路径
CString path_Program_Common; //所有用户的程序路径
path_reg="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
HKEY hKEY1,hKEY2,hKEY3,hKEY4; //定义有关的 hKEY, 在查询结束时要关闭。
//获取当前用户桌面路径
ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,path_reg, 0, KEY_READ, &hKEY1));
ret1=::RegQueryValueEx(hKEY1,"Desktop", NULL,&type_1,path_Get,&cbData_1);
path_Desktop=(CString)path_Get;
::RegCloseKey(hKEY1);
//获得所有用户的桌面路径
ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,path_reg, 0, KEY_READ, &hKEY2));
ret1=::RegQueryValueEx(hKEY2,"Common Programs", NULL,&type_1,path_Get,&cbData_1);
path_Program_Common=(CString)path_Get;
::RegCloseKey(hKEY2);
//获得当前用户的程序路径
ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,path_reg, 0, KEY_READ, &hKEY3));
ret1=::RegQueryValueEx(hKEY3,"Programs", NULL,&type_1,path_Get,&cbData_1);
path_Program=(CString)path_Get;
::RegCloseKey(hKEY3);
//获取所有用户程序路径
ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,path_reg, 0, KEY_READ, &hKEY4));
ret1=::RegQueryValueEx(hKEY4,"Common Desktop", NULL,&type_1,path_Get,&cbData_1);
path_Desktop_Common=(CString)path_Get;
::RegCloseKey(hKEY4);
CString path_Desktop; //当前用户的桌面路径
CString path_Program; //当前用户的程序路径
CString path_Desktop_Common; //所有用户的桌面路径
CString path_Program_Common; //所有用户的程序路径
path_reg="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
HKEY hKEY1,hKEY2,hKEY3,hKEY4; //定义有关的 hKEY, 在查询结束时要关闭。
//获取当前用户桌面路径
ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,path_reg, 0, KEY_READ, &hKEY1));
ret1=::RegQueryValueEx(hKEY1,"Desktop", NULL,&type_1,path_Get,&cbData_1);
path_Desktop=(CString)path_Get;
::RegCloseKey(hKEY1);
//获得所有用户的桌面路径
ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,path_reg, 0, KEY_READ, &hKEY2));
ret1=::RegQueryValueEx(hKEY2,"Common Programs", NULL,&type_1,path_Get,&cbData_1);
path_Program_Common=(CString)path_Get;
::RegCloseKey(hKEY2);
//获得当前用户的程序路径
ret0=(::RegOpenKeyEx(HKEY_CURRENT_USER,path_reg, 0, KEY_READ, &hKEY3));
ret1=::RegQueryValueEx(hKEY3,"Programs", NULL,&type_1,path_Get,&cbData_1);
path_Program=(CString)path_Get;
::RegCloseKey(hKEY3);
//获取所有用户程序路径
ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,path_reg, 0, KEY_READ, &hKEY4));
ret1=::RegQueryValueEx(hKEY4,"Common Desktop", NULL,&type_1,path_Get,&cbData_1);
path_Desktop_Common=(CString)path_Get;
::RegCloseKey(hKEY4);
...全文
相关推荐
奇奇怪怪的临时文件124785
奇奇怪怪的临时文件124785
C# 惡搞代碼,讓你玩转你的電腦
1、方法不限,要让用户不能使用键盘鼠标、屏幕出现异常情况、发出诡异声音、出现蓝屏、出现黑屏…… 2、必须是.net 2.0框架下的程序。可以使用api。只要程序写出来能在XP + .net 2.0上运行就可以。 3、隐蔽性。尽量不能让用户察觉。需要有比较好的隐蔽性。比如防止结束进程、线程注入…… 4、可恢复性。要保证系统重启之后会自动回复正常,不能有任何的“后遗症”。要考虑用户可能会强制关机。 …………
Spark调优常用配置参数
最近看到一篇不错的关于Spark内存调优的blog,分享一下: https://idk.dev/best-practices-for-successfully-managing-memory-for-apache-spark-applications-on-amazon-emr/ 这篇blog主要提出了几种Spark内存调优方式(基于的是Amazon EMR总结的,但是我觉得通用性还是很强),的确...
Copula函数
Copula是处理统计中随机变量相关性问题的一种方法。本文是对Copula函数的各种定义,Copula函数的思想,Copula函数的性质,Copula函数的类型等理论资料总结
【01】Canoe零基础手把手教学 --- Canoe安装
Canoe零基础手把手教学


