控制台程序实现拖曳运行支持
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],于是出错。
相关文章推荐
- 非常实用的Bootloader程序为ARM S3C44b0(公版) ,实现了系统引导和支持Xmodem协议文件传输并下载到本址存储器运行
- 在控制台(cmd)运行java程序,实现增,删,改,查功能
- 使用Mutex实现程序单实例运行(c#)
- crond实现linux定时运行程序 -- 重启
- 实现程序唯一实例运行
- 轻易实现基于linux或win运行的聊天服务端程序
- VS2013控制台程序运行一闪而过的最佳解决办法
- 在服务串运行某程序即以system log on又处于当前控制台会话中的代码
- 【Java】Java程序运行超时后退出或进行其他操作的实现
- MFC中实现printf调试功能,即MFC程序利用控制台输出调试信息
- 在控制台编译运行java程序详细指导
- vs2005下控制台程序运行时报找不到MSVCR80.dll的解决办法
- Delphi中利用管道重定向实现对控制台(Console)程序的操作
- Delphi编写的Android程序获取Root权限实现(2015.4.15更新,支持Android 4.4)
- C#实现托盘程序并禁止多个应用实例运行的方法
- zz:控制台程序后台运行
- Quartz实现定期运行程序(Java)
- 使用Mutex实现程序单实例运行(c#)
- 转:隐藏C#控制台程序运行时的窗口
- 实现 OGRE嵌入到QT中的测试程序,并支持多实例