我在MFC里写了一个运行外部exe程序的代码。里面用到了绝对路径。比如
ShellExecute(NULL, "open", "QSanguosha.exe", NULL, "C:\\A\\B\\Addins\\QSanguosha0224", SW_SHOW);在本机运行无误。
现在让它在其他人电脑上运行的话,由于其路径为C:\\D\\A\\B\\Addins\\QSanguosha0224,改程序不能被调用。请问我该怎么修改原代码中路径,以设置成相对路径,让MFC能在其他人电脑上正确运行。
已知其他人电脑上有公共的路径是B\\Addins\\QSanguosha0224,其前面的路径待定。另外我拷过去的是dll文件,不存在工程文件,也不可能把要执行的程序放到工程目录下。
dllæ件æ¯æ个软件Açä¸ä¸ªcomç»ä»¶æéçæ件ï¼çæå®å°±è¡äºã该dllæ件çä½ç¨å°±æ¯ä½¿è½¯ä»¶Aä¸å·¥å
·æ å¯ä»¥å¤ä¸ä¸ªæé®ãè³äºè¯¥æé®çåè½å°±æ¯å¨OnClickedè¿ä¸ªå½æ°ä¸å äº
ShellExecute(NULL, "open", "QSanguosha.exe", NULL, "C:\\A\\B\\Addins\\QSanguosha0224", SW_SHOW);è¿ä¸ªè¯å¥ã
è¿æ ·çè¯ï¼é£å°±æ æ³ç¡®å®ç¸å¯¹è·¯å¾äºï¼å 为è¿è¡çä½ç½®åè¦å®ä½çexeä½ç½®é½æ¯æ æ³ç¡®å®ç
è¿æ ·å°±åªè½éç¨ç»å¯¹è·¯å¾
ä¸é¢å 个æ¹æ³ä½ å¯ä»¥èèä¸ä¸
1.å¦æQSanguosha.exeæ¯å®è£
çï¼é£ä¹æ³¨å表éé¢åºè¯¥æå®çä¿¡æ¯å§
å¯ä»¥éè¿æ¥æ³¨å表确认
2. å¦æ注å表走ä¸éï¼å¯ä»¥å交äºã å³ç¬¬ä¸æ¬¡ç¹å»è¿ä¸ªæé®çæ¶åï¼å¼¹åºå¯¹è¯æ¡ 请ç¨æ·æ¥è®¾ç½®è·¯å¾ï¼ç¶åä¿åå°æå®çè·¯å¾ä¸ï¼æ¯å¦æ常ç¨çAll Users\Application Data
è¿ä¸ªä¹æ¯å¾å¤è½¯ä»¶ä¿åç§ææ°æ®çå°æ¹
3. é½ä¸æ³åçè¯ é£ä¹åªè½é æ´åæç´¢äº ç¬¬ä¸æ¬¡å¯å¨æ¶æç´¢ï¼æè
comç»ä»¶æ³¨åçæ¶åå°±åå°æç´¢ï¼ç¶åè®°å½ä½ç½®ï¼ä»¥åç´æ¥å¼ç¨å°±å¯ä»¥äº
我考到其他计算机中只有一个dll文件,如果我新建的文本文件跟它拷贝到别的计算机的同一目录下,dll能识别它么。