VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 408|回复: 2

我设置了开机启动,但文件完全找不到,求解,谢谢

[复制链接]
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-26 17:02:43 | 显示全部楼层 |阅读模式
我用这个设置了开机启动
bool CBoot::AutoBootSet()
{        HKEY hKey;
        CString lpRun = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
        long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0, KEY_ALL_ACCESS, &hKey);   
        if(lRet == ERROR_SUCCESS)   
        {
                TCHAR pFileName[MAX_PATH] = {0};
                DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
                _tcscat(pFileName, _T(" -auto"));
                lRet = RegSetValueEx(hKey, _T("AppName"), 0, REG_SZ, (LPBYTE)pFileName,  (lstrlen(pFileName) + 1)*sizeof(TCHAR));   
                RegCloseKey(hKey);        
       
然后重新启动电脑,让程序开机,用这个读与此程序同一文件夹的文本
        CFile file(“./boot.txt",CFile::modeRead);

然后会提示找不到文本
我设置了开机启动,但文件完全找不到,求解,谢谢

然后我用这程序写入文本
CFile file("./boot.txt",CFile::modeCreate |CFile::modeWrite);

却发现它在C:\Documents and Settings\Administrator
我设置了开机启动,但文件完全找不到,求解,谢谢

请问要如何解决这个问题,我想了几天都没想明白。谢谢!

我想做到的是,程序在电脑开机启动,并读出同此程序同处一文件夹的boot.txt文本。




上一篇:如何传递参数???
下一篇:【实用C++】零基础入门教程35课strlen单步调试疑问!
51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-7-26 23:09:16 | 显示全部楼层
最好还是用绝对路径吧,使用 GetModuleFileName 获得当前程序的路径,然后自己修改下字符串就可以了
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-7-29 12:32:54 | 显示全部楼层
Syc 发表于 2019-7-26 23:09
最好还是用绝对路径吧,使用 GetModuleFileName 获得当前程序的路径,然后自己修改下字符串就可以了

谢谢指导,这个方法确实有用
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-25 12:27

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表