双浇面 2022-10-13 10:11 采纳率: 0%
浏览 53
已结题

GetModuleFileName 在win11下,桌面快捷方式启动,获取路径还是在桌面。怎么解决?

原来的在win7下,GetModuleFileName可以获取程序的安装路径,现在安装到win11下,直接获取了桌面路径,导致原来要生成的数据库放到了桌面,程序找不到数据库启动不起来了。
GetModuleFileName win11 路径获取问题
在win11下,桌面快捷方式启动,获取路径还是在桌面。
不知道如何解决,因为还需要兼容WIN7
请指导下
  • 写回答

3条回答 默认 最新

  • 双浇面 2022-10-13 15:27
    关注

    还是不行,老样子。我得从win11的programmes下面把文件复制出来,放到桌面上,建个文件夹,然后无论是在文件夹内运行或是发个快捷方式到桌面,都能正常运行了。难道是我根据获取的路径创建数据库的方式有问题。我把获取的路径转换为unicode,然后再该路径下自动生成数据库。

    char* CDataBase::AnsiToUtf8(char* str)
    {
    WCHAR* strA;
    int i= MultiByteToWideChar(CP_ACP,0,str,-1,NULL,0);
    strA = new WCHAR[i];
    MultiByteToWideChar(CP_ACP,0,str,-1,strA,i);

    i=   WideCharToMultiByte(CP_UTF8,0,strA,-1,NULL,0,NULL,NULL);    
    char   *strB=new   char[i];    
    WideCharToMultiByte(CP_UTF8,0,strA,-1,strB,i,NULL,NULL);    
    //strB即为所求    
    return   strB;
    

    }

    评论

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 创建了问题 10月13日

悬赏问题

  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀