我正在编写这个C代码,它将存储一个Key in Registry,它指向应用程序的当前路径。这是代码。
HKEY hKey;
LPCTSTR appPath;
LPCTSTR regPath = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
char buffer[300];
GetModuleFileName(NULL,buffer,300);
appPath = buffer;
if(RegOpenKeyEx(HKEY_CURRENT_USER,regPath,0,KEY_ALL_ACCESS,&hKey)== ERROR_SUCCESS)
{
RegSetValueEx(hKey,"storing.exe",0,REG_SZ,appPath,sizeof(appPath));
RegCloseKey(hKey);
}
问题是GetModuleFileName()以该格式返回路径:
C:\Documents and Settings\User\Desktop\storing.exe
而在RegSetValueEx()中需要一个以这种形式的路径:
C:\\Document and Settings\\User\\Desktop\\storring.exe
有没有办法将第一条路径转换为第二条路径? 试过很多方法来替换那个字符串,但没有人工作。
谢谢。