程序启动后获取输入参数的问题(顶有分)

chenweionline 2006-08-29 10:18:25
拿UltraEdit举个例子.
鼠标同时选中2个txt文件,点击右键,通过右键菜单上的UltraEdit-32菜单项打开UltraEdit.UltraEdit运行后会自动打开选中的这2个txt文件.

我的程序现在需要实现类似的功能,但是现在遇到一些问题.UltraEdit运行后是怎么找到选中的那2个txt文件的?是在点击右键菜单项启动程序时通过命令行参数传入的(例如:uedit32.exe "1.txt","2.txt")?还是在程序运行后通过某些方法得到的?

我的主程序是用java编写的,我本身不是做Windows编程的,现在需要在windows平台上实现类似功能,这方面我不太熟悉,我查看了注册表中右键菜单相关的项,基本都是:"xxx.exe" "%1"

我写了个简单java测试程序,用jb打成exe后在注册表里添加了右键相关项.选中2个文件后用右键菜单项打开,这个程序被执行了2次,每次传入的参数是2个文件其中1个的路径.和我需要的结果并不一样.

请问有没有人做过类似功能的程序,或者熟悉 java 桌面应用和 windows 编程,能否提供一个解决方案或思路.
...全文
424 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
iori97king 2006-09-08
  • 打赏
  • 举报
回复
绝对没问题哦

我的C语言提交系统 就是这样。当时我也不知道应该怎么办,后来无意在一本DOS命令书本上
发现了这个输入重定向命令 <

相信楼主知道 >或>> 是输出重定向 而 < 则是输入重定向
iori97king 2006-09-08
  • 打赏
  • 举报
回复
楼主 我知道

我刚写了一个C远提交系统,也用到这个 就是.exe参数问题
可以使用 重定向到一个文件夹
(如果a.exe需要两个参数(m,n),那么在1.txt里写入m,n
然后用批处理调用
a.exe>1.txt
就OK了
还不清楚 可以加我QQ:26267004
fishyqd 2006-09-08
  • 打赏
  • 举报
回复
继续顶
iori97king 2006-09-08
  • 打赏
  • 举报
回复
我误解了楼主的意思 真不好意思
我再想想...
chenweionline 2006-09-08
  • 打赏
  • 举报
回复
iori97king(难道我是猪~):

按我的理解,你是把参数写到txt文件里,再从这个文件里去读.
问题是我怎么获得参数呢?如果我能够获得参数,那为什么还需要先把它们写到txt文件里,直接拼个命令行 a.exe "参数1","参数2" 就可以了.

:)
SuperCpp 2006-09-07
  • 打赏
  • 举报
回复
帮你顶
xzxwsk 2006-09-07
  • 打赏
  • 举报
回复
up
千里冰封820 2006-09-06
  • 打赏
  • 举报
回复
再帮你顶一下
chenweionline 2006-09-01
  • 打赏
  • 举报
回复
感谢
chenweionline 2006-09-01
  • 打赏
  • 举报
回复
lbfhappy:
chenweionline 2006-09-01
  • 打赏
  • 举报
回复
cuij7718:

我选中2个文件,然后把它拖放到我的程序图标上,用这种方式运行程序,的确可以得到2个参数路径.但是使用右键却不可以.

让某一个扩展名的文件双击以后使用java文件打开的程序在注册表里的配置项和使用右键都是xxx.exe %1

如果选中文件是一个,程序里面获得的就是这个文件的完整路径,如果选中文件是2个,就出现了遇到的情况,程序被执行了2次。

头疼啊,我对注册表不熟,不知道有没有什么参数配置可以直接实现我的需求。

对了,我发现在右键的发送菜单项(Send To)里添加我的程序的快捷方式,然后选中2个文件,使用发送菜单项里的快捷方式打开程序是可以取到2个文件路径的,但是我查了注册表里的Send To,发现只是一串键值,不知道是怎么实现的。有兴趣的朋友可以试试。
千里冰封820 2006-09-01
  • 打赏
  • 举报
回复
再帮你顶顶
cuij7718 2006-09-01
  • 打赏
  • 举报
回复
在右键选择了用java的jar或是exe文件打开以后,传给jar或是exe文件的参数应该是包含选中文件的完整路径,例如 d:\mydoc\1.txt 所以只要在main函数里面获得String[]参数以后,直接使用应该就行了,不过如果遇到路径里面带有空格的,会自动分解为两个参数。
我没有做过右键打开文件的java程序,但是原来做过让某一个扩展名的文件双击以后使用java文件打开的程序,在这个程序里面就是获得的被双击文件的完整路径,所以我觉得右键打开文件应该和这个差不多

至于执行2次的问题,和你的程序关系不大,多半是注册表的问题,调用了2次你的程序,检查一下
realknight 2006-09-01
  • 打赏
  • 举报
回复
这个需求挺好玩的,学习
千里冰封820 2006-08-31
  • 打赏
  • 举报
回复
再帮你顶一顶
千里冰封820 2006-08-30
  • 打赏
  • 举报
回复
再帮你顶顶
Netself 2006-08-30
  • 打赏
  • 举报
回复
学习
godn_1981 2006-08-30
  • 打赏
  • 举报
回复
看来在csdn上混的都是吃白饭的呀,这个问题都没人知道,郁闷。
  • 打赏
  • 举报
回复
用java写windows程序?
godn_1981 2006-08-29
  • 打赏
  • 举报
回复
楼主的那5颗星不是唬人的吧?这个简单的问题都不会呀,真是~~
加载更多回复(8)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧