一个已注册文件,怎么通过获取注册表信息,从而获取文件的路径

一个已注册文件,如何通过获取注册表信息,从而获取文件的路径.

一个已注册文件,如何通过获取注册表信息,从而获取文件的路径.
如下一个文件在注册表中注册,在:KEY_LOCAL_MACHINE\SOFTWARE\sheetfedscanner\746\USB;
注册表中的名称:DRIVER   PATHNAME
值为:C:\PROGRA~1\Plustek\MOBILE~1\scndrvu.drv

------解决方案--------------------
你是说从注册表里读字符串?
// using CReg class
#include <atlbase.h>

CRegKey key;
ULONG len;
TCHAR buff[MAX_PATH];

if(ERROR_SUCCESS == key.Open(HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\sheetfedscanner\\746\\USB "), KEY_READ))
{
len = sizeof(buff);
ZeroMemory(buff, len);
if(ERROR_SUCCESS == key.QueryStringValue(_T( "DRIVER PATHNAME "), buff, &len))
{
// ......
}
}
------解决方案--------------------
不是很懂你的意思,是不是要读取注册表里的信息???

如果是就用RegQueryValueEx()函数

给你个例子:

HKEY hKEY;
LPCTSTR data_Set= "Software\\GreatSky\\GS-CAPP\\Client\\1.0\\ ";
long ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_Set, 0, KEY_READ, &hKEY);
if(ret != ERROR_SUCCESS)
{
return 1;
}
else
{
LPBYTE servername_Get = new BYTE[40];
type_1 = REG_SZ ;
cbData_1 = 40;
ret1 = ::RegQueryValueEx(hKEY, "server name ", NULL, &type_1, servername_Get, &cbData_1);
if(ret1 != ERROR_SUCCESS)
{
MessageBox( "错误: 无法查询注册表中server name项! ");
return 1;
}
theApp.g_strServer = CString(servername_Get);//把取到的值转成CSTRING类型
}