我正在创建一些应用程序,这使得在MS Word中轻松完成一些任务。应用程序必须在Word中作为宏导入,这意味着必须存储在用户下的某个模板文件夹中。所以我不想知道如何知道用户的名称,以及什么是版本的Windows ,导致我的用户名和文件夹位置与某人不同其他。 是否有任何小蝙蝠代码或c ++中的某些函数可以轻松地将这两个信息存储在变量中,我可以在安装应用程序时轻松使用它?
OS:win7,vista,xp
答案 0 :(得分:5)
要获取用户名,请使用GetUserName()功能。
但是,这不是确定当前用户文件夹位置的最佳方法。对于那些使用类似SHGetSpecialFolderPath()或SHGetFolderPath()的内容,它可以提供特殊文件夹的路径(例如用户的应用程序文件夹,桌面等)
答案 1 :(得分:4)
您可以通过调用SHGetFolderPath(CSIDL_PROFILE)
(Win2K及更高版本)或SHGetKnownFolderPath(FOLDERID_Profile)
(Vista及更高版本)来获取用户的个人资料目录。
您可以使用SHGetFolderPath(CSIDL_TEMPLATES)
(Win2K及更高版本)或SHGetKnownFolderPath(FOLDERID_Templates)
(Vista及更高版本)获取模板文件夹的直接路径。
我想,一旦你有了模板文件夹,就不需要用户名或操作系统版本了。
答案 2 :(得分:0)
使用此:
void UserName(string *x){
char username[UNLEN + 1];
DWORD size = UNLEN + 1;
GetUserName(username, &size);
string transition(username);
*x=transition;}
//use this syntax in main : string username;UserName(&username);