您的位置:首页 > 其它

控制台程序实现拖曳运行支持

2009-12-07 23:44 441 查看
TCHAR *acDataFile   = new TCHAR[MAX_PATH];
TCHAR *acTmp        = new TCHAR[MAX_PATH];
TCHAR *acSourceFile = new TCHAR[MAX_PATH];
TCHAR *acResultFile = new TCHAR[MAX_PATH];
GetFullPathName(argv[1], MAX_PATH, acDataFile, &acSourceFile);
lstrcpyn(acTmp, acDataFile, lstrlen(acDataFile) - lstrlen(acSourceFile) + 1);
lstrcpy(acResultFile, Tmp);
lstrcat(acResultFile, "Result_");
lstrcat(acResultFile, acSourceFile);
FILE *hSourceFile,*hResultFile;
//……………………
//……………………
//……………………
hSourceFile = fopen(argv[1], "r");  // path is needed.
hResultFile = fopen(acResultFile, "a");


将待处理文档(argv[1])拖曳到exe程序(argv[0])运行时,argv[0]和argv[1]都带有全路径。

执行fopen时,若赋给fopen的文件名参数不带有路径,则程序的默认路径并非当前路径,而是C:/documents and settings/admin(当前用户名)/,默认路径下找不到argv[1],于是出错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: