这是源程序,我将软件安装在 C:\123\ 然后运行,大部分电脑都能在C:\123\下生成 record与temp二个文件夹,但有些电脑生成这二个文件夹却跑到其它路径去了,好像有一台是在 我的文档 下,请问这是何原因,我怎么做才能保证让文件夹生成在与 主程序文件 一个文件夹下呢?是否要将
CreateDirectory("record",&sa); //新建 record 文件夹
改成
CreateDirectory(".\\record",&sa); //新建 record 文件夹
因为这是偶然有的电脑会出现,所以我也不好测试,还望高手释疑!谢谢!
if(TRUE!=FileExists("record", TRUE)) //检查是否存在 record
{
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
CreateDirectory("record",&sa); //新建 record 文件夹
} if(TRUE!=FileExists("temp", TRUE)) //检查是否存在 temp
{
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
CreateDirectory("temp",&sa); //新建 temp 文件夹
}
CreateDirectory("record",&sa); //新建 record 文件夹
改成
CreateDirectory(".\\record",&sa); //新建 record 文件夹
因为这是偶然有的电脑会出现,所以我也不好测试,还望高手释疑!谢谢!
if(TRUE!=FileExists("record", TRUE)) //检查是否存在 record
{
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
CreateDirectory("record",&sa); //新建 record 文件夹
} if(TRUE!=FileExists("temp", TRUE)) //检查是否存在 temp
{
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
CreateDirectory("temp",&sa); //新建 temp 文件夹
}
解决方案 »
- 注册表问题
- CSplitterWnd静态的分割窗口怎么总是出现异常,急! 急! 集
- 如何继续提高VC,请老鸟指点一下
- socket+控制台服务程序,recvfrom收不到消息问题?
- 请教OGL的简单问题——
- 帮看看`《windows程序设计》上的第二个程序~为什么会提示wndclass 没有定义呢~~~
- 数据类型转换问题!请指教,3Q!
- 各位高手帮忙:我要写一个复合控件,在一个窗口上有一个编辑框,一个列表框,一个按钮,单击按钮后将编辑框内容添加到列表框中,将这个窗
- MFC DLL编程问题
- 如何将cadlib运用到自己的代码中
- 急~~~~~~~~~:如何判断Cedit中是否有字符被选中?
- 菜鸟问题,对话框怎么调用DOC.CPP中的数据?
要么先SetCurrentDirectory设置工作目录到c:\123
可以用GetModuleFileName,获得当前exe路径,然后拼接你目录的的完整路径,然后再CreateDirectory
CString FolderName;
FolderName.Format(ExePath+"\\record");
CreateDirectory(FolderName,&sa); 或调用SetCurrentDirectory(ExePath);//设置当前路径为软件路径
SetCurrentDirectory(ExePath);
CreateDirectory("record",&sa);